Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的Branch.io deeplink即使安装了应用程序也会打开Play商店_Android_Cordova_Branch.io - Fatal编程技术网

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

android中的Branch.io deeplink即使安装了应用程序也会打开Play商店,android,cordova,branch.io,Android,Cordova,Branch.io,安装应用程序后,在android上测试deeplinks时,链接会打开Play Store 当我单击“打开”时,应用程序会在正确的位置打开,即deeplink不会工作。但是,我不希望用户无缘无故地通过Play Store。只打过一次Branch.io的电话,我对它的架构不是很熟悉,但是,我相信这取决于你的应用程序有自己的URL方案,比如twitter://或fb:// 幸运的是,有一个解决方案。听上去Branch正在访问该链接,没有收到任何回复,所以它将您重定向到应用程序的Play Store

安装应用程序后,在android上测试deeplinks时,链接会打开Play Store


当我单击“打开”时,应用程序会在正确的位置打开,即deeplink不会工作。但是,我不希望用户无缘无故地通过Play Store。

只打过一次Branch.io的电话,我对它的架构不是很熟悉,但是,我相信这取决于你的应用程序有自己的URL方案,比如twitter://或fb://

幸运的是,有一个解决方案。听上去Branch正在访问该链接,没有收到任何回复,所以它将您重定向到应用程序的Play Store URL

如果您已经安装了这个插件,我建议您单独测试插件,以确保正确配置它(尝试测试您自己生成的链接)。如果仍不工作,请查看分支是否正确配置了此应用程序URL

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

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

我已经回答了前面关于你需要什么的问题。如果你不想去那里,我会复制并粘贴TL;DR here:

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

  • 分支仪表板上的包名称与应用程序生成的包名称相同
  • 活动上的android:host=“open”,因为分支将意图字符串格式化为
    scheme://open
  • 在分支上注册的URI方案与在AndroidManifest.xml中找到的相同
  • 同一活动具有以下属性:
    android.intent.category.BROWSABLE

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

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

      但是,您可以使用一个设置来更改此行为。 在分支仪表板的设置/链接设置中,有一个复选框 在页面顶部显示文本,如果 选中此框,当链接被删除时,我们将自动触发您的URI方案 单击,这意味着即使是尚未从 分支链接(但谁安装了应用程序)将被深度链接


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

      在分支的链接属性对象中,使用控制参数
      $android\u deeplink\u path
      并将值
      abcd.app.link
      一样放入。
      然后它会立即重定向到你的应用程序,play store将不会打开。

      这不是问题所在,但多亏了你的回答,我们开始在android上监控网络活动,发现了一个不同的方法issue@koustuv-你能准确地说出你所说的控制参数吗?在branch的LinkProperties对象中,将key设置为“$android\u deeplink\u path”值设置为像“abcd.app.link”这样的值,并遵循此链接
      始终尝试打开应用程序
      无法解决我的问题。根据我的测试,似乎只有使用Chrome的链接才会出现问题。在这种情况下,我可以在Android监视器中看到以下消息:
      com.my.app已安装,但证书不匹配