Chrome 需要一个与您的 Android 清单中定义的内容相匹配的意图字符串,才能正确打开在您的设备上找到的应用程序。如果出现问题,Chrome 将不会打开该应用程序。如果您使用 Branch 进行深度链接,则需要确保以下匹配:
TL;DR,确保这些在分支仪表板和清单上匹配
- 分支仪表板上的包名称与您的应用程序构建的相同
- Activity 上的 host="open",因为 Branch 将意图字符串格式化为scheme://open
- 在 Branch 上注册的 URI 方案与您的 AndroidManifest.xml 中的相同
- 同一个Activity有以下属性:android.intent.category.BROWSABLE
更长的解释是,Branch 获取与您的帐户相关联的链接,并构造一个如下所示的 Intent 字符串:
intent:
HOST/URI-path // Optional host
#Intent;
package=[string];
action=[string];
category=[string];
component=[string];
scheme=[string];
结尾;
当 Branch 进行重定向时,我们会从您的帐户中提取方案和包,并假设您已设置android:host
为open
:
意图://打开#意图;方案=方案;包=包;结束"
并把它放在里面window.location
。如果您的仪表板或包上的注册方案不匹配,或者open
未在android:host
密钥中指定,那么您将被带到 Chrome。
android.intent.category.BROWSABLE
将以下内容指定为类别过滤器也很重要。有关意图字符串的更多信息,请点击此处。