Android 分支 IOreferingParams 为 false

标签 android branch.io

我现在正在 Android 上处理分支 io。 有点奇怪。如果我先关闭我的应用程序并单击该链接,该链接会将我带到我的应用程序并打开应该显示的页面。但是,如果我打开应用程序并单击主页按钮,然后单击链接,该链接会将我引导至 ap.. 但页面未显示。我只能看到主页,无需通过分支 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}

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

编辑

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

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

谢谢!

最佳答案

来自Branch.io的亚伦在这里。

您看到此错误的原因可能有多种。以下是一些:

  1. 您没有初始化 Branch 并在您的 主要/Splash Activity 。

  2. 您的主要/Splash Activity 没有 launchMode 设置为 singleTask

  3. 您没有重写onNewIntent() 在您的主要/Splash Activity 中

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

您可以找到一个示例 Main/Splash Activity here .

您还可以查看我们的测试床应用程序,它是 Branch Android SDK 的完整工作示例 here

关于Android 分支 IOreferingParams 为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47586424/

相关文章:

Branch.io 事件日志记录

android - 在 list 中使用变量

安卓 : AccountPicker set Light Theme

java - 如何在 Firebase 中将数据从一个表复制到另一个表?

android - TravisCI Android 构建失败

android - 使用不直接提供 APK 的自定义 URL 处理延迟深层链接

java - 在项目类型上实现带有气泡状徽章的 ListView ?

android - 如何创建一个可观察的序列,其中的一部分可以取消订阅和重新订阅?

javascript - 如何从 branch.io 的身份访问 Branch Identity ID

android - 推送通知中的深层链接问题