5

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

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

4

4 回答 4

5

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

您描述的问题是我遇到的问题。因为我们不知道(100% 准确)用户是否已经安装了 MyApp,直到他们从 Branch 链接打开应用程序,我们等到发生这种情况后再将它们直接深度链接到应用程序中(同时,我们发送它们到应用商店)。

但是,您可以使用一个设置来更改此行为。在 Branch 仪表板的设置/链接设置中,页面顶部有一个复选框,其中包含“始终尝试打开应用程序”文本。如果您选中此框,我们将在单击链接时自动触发您的 URI 方案,这意味着即使尚未从分支链接打开 MyApp 的用户(但确实安装了应用程序)也将被深度链接。

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

于 2015-09-02T13:34:14.830 回答
1

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

我已经在这里回答了你需要什么的问题。如果您不想去那里,我将复制并粘贴 TL;DR 此处:

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

  • 分支仪表板上的包名称与您的应用程序构建的相同
  • android:host="open"在 Activity 上,因为 Branch 将意图字符串格式化为scheme://open
  • 在 Branch 上注册的 URI 方案与您的 AndroidManifest.xml 中的相同
  • 相同的 Activity 具有以下属性:android.intent.category.BROWSABLE
于 2015-09-01T18:33:37.510 回答
1

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

幸运的是,有一个cordova 插件。听起来 Branch 正在对该链接执行 GET,但没有收到任何回复,因此它将您重定向到应用程序的 Play 商店 URL。

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

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

于 2015-08-31T18:10:18.353 回答
0

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

于 2017-02-04T14:52:22.280 回答