Branch.io - 发布版本不起作用。需要从 Google Play 下载吗?

Branch.io - Release Version doesn't work. Needs to be downloaded from GooglePlay?

我已跟进 sample app and the documentation 以设置我的应用程序以支持 deeplinking。 我的 link 是这样的:(也使用网站上 Branch Dashbord 的 link)

> Branch.getInstance(getApplicationContext()).getContentUrl("viewer", null, new Branch.BranchLinkCreateListener() {
            @Override
            public void onLinkCreate(String url, BranchError error) {
                //Log.i(TAG, "URL is: " + url);
                Toast.makeText(MainActivity.this, url, Toast.LENGTH_LONG).show();
            }
        });

在测试模式下,我在 AndroidManifest 中使用它:

<meta-data android:name="io.branch.sdk.TestMode" android:value="true"/>

当我从 AndroidStudio 运行 应用程序并从浏览器访问生成的 url 时,它总是打开我的应用程序,因此它的行为符合预期。

我的问题是发布版本。当我单击由发布版本(已签名的 apk)生成的 url 时,它不起作用(提示我改为 Google 播放页面)。

步骤:

  1. 我把上面这行去掉AndroidManifest(也试过设置<meta-data android:name="io.branch.sdk.TestMode" android:value="false" />还是没用);
  2. Build-Generate Signed APK 然后通过电子邮件发送 apk
  3. 在设备上打开电子邮件并单击 link。

已签名的应用程序生成的 link 不起作用

调试应用程序 生成的 link 也适用于生产应用程序

我不知道是否有必要分享更多代码,因为该应用程序在测试模式下运行,但如果需要,请告诉我,我会做的。

有几件事让我印象深刻: 1)当你从测试到上线时,你需要将你的分支密钥从测试版本更新到实时版本。 2) 你对你认为它坏了的原因的描述:

My problem is with the release version. When I click the url generated by the release version (signed apk) it doesn't work (prompt me to Google Play page instead).

请记住,分支 link 不是简单的 URI 方案调用,单击 link 会将您发送到服务器,该服务器会根据从中收集的数据检查您之前是否打开过应用程序开发工具包。如果是,Branch 调用 URI 方案并启动应用程序。如果没有,Branch 会将您引导至 Google Play 商店。因此,被定向到 Play 商店可能是您在这里的预期行为,具体取决于您是否打开应用程序或不作为测试流程的一部分(从您的描述中不清楚)。

这里有一个涵盖此流程的文档:https://dev.branch.io/how_branch_links_work/

我倾向于认为一切正常。但如果您仍然不确定,请给我们发送电子邮件 - support[at]branch.io - 我们将非常乐意与您一起解决这个问题。

发布后的作品 Google 播放。