Android 分支 IO referenceParams 为假

Android Branch IO referringParams is false

我现在正在处理 Android 上的分支 io。 有点奇怪。如果我先关闭我的应用程序并单击 link,link 会将我带到我的应用程序并打开应该显示的页面。但是,如果我打开我的应用程序并单击主页按钮,然后单击 link,link 会将我引导至应用程序.. 但该页面未显示。我只是可以看到主页,而没有通过分支 io 路由。

这是我的代码。

@Override
protected void onStart() {
    super.onStart();
    branchIO();
}

private void branchIO() {
    Branch branch= Branch.getInstance();

    branch.initSession(new Branch.BranchReferralInitListener(){

        @Override
        public void onInitFinished(JSONObject referringParams, BranchError error) {

            if (error == null) {
                try{
                    Log.d("log", referringParams.toString());
                    //...my routing logic...
                }catch(Exception e){
                    Log.e("log", "branch io error",e);
                }
            } else {
               Log.i("log", error.getMessage());
            }
        }
    }, this.getIntent().getData(), this);

    BranchIO.branchUniversalObject.generateShortUrl(this, BranchIO.linkProperties, new Branch.BranchLinkCreateListener() {
        @Override
        public void onLinkCreate(String url, BranchError error) {
            if (error == null) {
            }
        }
    });
}

如果我先关闭我的应用程序,日志是这样的

D/log: {"$og_title":"₩230000", "~creation_source":5, "$og_description":"blah blah", "+click_timestamp":1512100123,........"}

但是如果我先打开我的应用程序并将其置于后台,日志是这样的

D/log: {"+clicked_branch_link":false,"+is_first_session":false}

我阅读了很多 Whosebug 和 GitHub 页面,但找不到解决方案。 感谢阅读!

编辑

我忘记在 onNewIntent 中使用 this.setIntent(intent)。 所以添加这个之后,效果很好。

@Override
public void onNewIntent(Intent intent) {
    this.setIntent(intent);
}

谢谢!

Aaron 来自 Branch.io 这里。

您看到此错误可能有多种原因。这里有一些:

  1. 您没有初始化 Branch 和处理您的深层链接 Main/Splash activity.

  2. 您的Main/Splashactivity没有 启动模式设置为 singleTask

  3. 您没有覆盖 onNewIntent() 在你的 Main/Splash activity

  4. 如果您使用的是 CustomApplicationClass,确保你正在初始化 Branch Branch.getAutoInstance(this);

你可以找到一个例子Main/Splash activity here.

您还可以查看我们的测试平台应用程序,它是 Branch Android SDK here

的完整工作示例