2017-09-14 75 views
0

我们在初始屏幕中初始化分支,然后设置一些时间将用户移动到登录或主屏幕几秒钟后没有分支的响应。连接错误后重试Branch.io

我的店不响应或分公司超时Trouble initializing Branch. Branch API Error: poor network connectivity. Please try again later.

如何从不同的活动重试分支的情况? (记住我们在几秒钟后将用户移动到Login或Main)

回答

0

分支已经存在重试逻辑,如果存在连接问题,Branch initSession将尝试连接到分支服务器3次。您可以自定义您想要进行的重试次数,以防初始化分支时出现任何问题。

下面是示例代码:

branch = Branch.getInstance(); 
//set retry count 
branch.setRetryCount(5); 
branch.initSession(new Branch.BranchReferralInitListener() { 
     @Override 
     public void onInitFinished(JSONObject referringParams, BranchError error) { 
      if (error == null) { 

      } else { 
       Log.i("MyApp", error.getMessage()); 
      } 
     } 
    }, this.getIntent().getData(), this); 

相反,如果你想在其他一些活动,重试,你很可能使initSession呼叫你又主要或登录活动。但是你可能会也可能不会在第二个活动中获得链接参数,因为也许第一个Activity已经使用了它们,所以你需要进行检查以确保如果分支在Splash Activity中初始化,不要再次初始化分支主要或登录活动。

+0

如果在启动画面中连接到分支时出现问题,我可以在登录到“再次执行”并获取数据时做些什么? Branch.getInstance()。getLatestReferringParams()?你是否建议只初始化分支一次(仅在Splash屏幕中)? – josealfonsomora

+0

如果您希望在登录活动中重试,则可以再次在登录活动中调用branch.initSession()。 正如我在我的文章中提到的,只要确保你没有初始化分支两次,因为如果Branch在Splash Activity中初始化,Login Activity中的初始化将不会返回任何链接参数。 同时确保在两个活动中添加意图过滤器来处理分支链接参数。 –