android - Android 应用上的分支指标链接

标签 android hyperlink branch metrics branch.io

我正在使用 Branch lib 和 Android 生成链接,然后通过短信发送这些链接。如果用户没有在手机上安装应用程序,您的链接会正确传输到 Play 商店(仪表板中的链接)。安装并运行应用程序后,它会按预期接收来自链接的所有数据。

但是,如果我已经在手机上安装了该应用程序,则按链接不会打开该应用程序,而是会再次将我重定向到 Play 商店。如果我在那里按下“打开”按钮,应用程序会收到信息,但是如何直接从浏览器运行应用程序呢?我看到了我们对相同库的 iOS 实现,它运行完美 - 即,当我拥有该应用程序并按下链接时,它会打开该应用程序,而无需将我发送到商店。

也许我在 list 中的声明中做错了什么?

提前致谢

卡林

最佳答案

Chrome 需要一个与您的 Android list 中定义的内容相匹配的 Intent 字符串才能正确打开您设备上的应用程序。如果出现问题,Chrome 将不会打开应用程序。如果您将 Branch 用于深层链接,则需要确保以下匹配:

TL;DR,确保这些在 Branch 上匹配仪表板和 list

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

较长的解释是 Branch 获取与您的帐户绑定(bind)的链接,并构建如下所示的 Intent 字符串:

intent:
HOST/URI-path // Optional host 
#Intent; 
  package=[string]; 
  action=[string]; 
  category=[string]; 
  component=[string]; 
  scheme=[string]; 

结束;

当 Branch 进行重定向时,我们会从您的帐户中提取方案和包,并假设您已将 android:host 设置为 open:

intent://open#Intent;scheme=scheme;package=package;end"

并将其放在 window.location 中。如果仪表板或包上注册的方案不匹配,或者 android:host 键中未指定 open,那么您将被带到 Chrome。

将以下 android.intent.category.BROWSABLE 指定为类别过滤器也很重要。有关意向字符串的更多信息 here .

关于android - Android 应用上的分支指标链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31003220/

相关文章:

jquery - 如何制作图像以便在单击时在同一页面上打开更大的图像(相同的图像)?

Git分支过滤选定的文件

git - 恢复损坏的分支/解决分离的 HEAD 状态?

Mercurial:粒度存储库与大型存储库和版本控制中的共享第三方工具

php - 如何使用 WordPress 链接多个 CSS 文件

Asp.net 超链接控件相当于 <a href ="#"></a>

android - Jquery Mobile,删除上一页

android - 未生成数据绑定(bind)类

android - ImageView 状态不变

android - Android 实现不带滑动抽屉的滑动菜单