即使安装了应用程序,Android中的Branch.io deeplink也会打开Play商店

时间:2015-08-31 10:52:24

标签: android cordova branch.io

在安装应用程序时在Android上测试深层链接时,链接会打开Play商店。

当我点击“打开”时,应用程序会在正确的位置打开,即深层链接确实有效。但是,我不希望用户无缘无故地浏览Play商店。

4 个答案:

答案 0 :(得分:4)

我通过这个问题联系了Branch.io的支持。这是我从他们那里得到的答案,这是正确的:

  

您描述的问题是我遇到过的问题。因为我们不知道   (准确率为100%)用户是否已安装MyApp,直到   他们从分支链接打开应用程序,我们等到发生了   在将它们直接链接到应用程序之前(同时,我们   将它们发送到应用程序商店)。

     

但是,您可以使用一种设置来更改此行为。   在分支仪表板的设置/链接设置中,有一个复选框   在页面顶部,文字"Always try to open app."如果你   选中此框,我们会在链接时自动触发您的URI方案   单击,这意味着即使是没有打开MyApp的用户也是如此   分支链接(但安装了应用程序的用户)将被深层链接。

(我将我的应用程序名称替换为' MyApp')

答案 1 :(得分:1)

只有与Branch.io进行过一次通话,我对它的架构并不十分熟悉,但是,我认为这取决于你的应用程序有自己的URL方案,如twitter://或fb://。

幸运的是,这里有一个cordova plugin。这听起来像分支在该链接上进行了GET,并且没有收到任何回复,因此它会将您重定向到您应用的Play商店网址。

如果您已安装此功能,我建议您单独测试该插件,以确保正确配置(尝试测试您自己生成的链接)。如果它仍然无效,请查看Branch是否正确配置了此应用程序URL。

如果仍然失败,我会联系Branch了解一些cordova示例代码和故障排除选项:我知道他们在与他们交谈时特别提到了它。

答案 2 :(得分:1)

Chrome的基本问题(无论是原生Android应用还是Cordova)除非您的AndroidManifest.xml与Chrome所需的意图字符串完全匹配,否则它将默认为该剧存储而不是选择尝试打开应用程序。它经常这样做。

我之前通过here回答了您所需要的问题。如果你不想去那里,我会复制并粘贴TL; DR在这里:

确保分支仪表板和清单上的这些匹配:

    分行仪表板上的
  • 包名称与您的应用构建
  • 相同
  • android:host="open" on Activity,因为分支将意图字符串格式化为scheme://open
  • 在分支机构注册的URI方案与您在AndroidManifest.xml中找到的相同
  • 相同的Activity具有以下属性:android.intent.category.BROWSABLE

答案 3 :(得分:0)

在分支的 LinkProperties 对象中,使用控制参数 $android_deeplink_path并将值<your custom host>设置为abcd.app.link。 然后它会立即重定向到您的应用程序,Play商店将无法打开。