动态链接(Android App Links)不提示“打开方式”Android 6.0+
Posted
技术标签:
【中文标题】动态链接(Android App Links)不提示“打开方式”Android 6.0+【英文标题】:Dynamic Links (Android App Links) not to prompt "open with" Android 6.0+ 【发布时间】:2018-08-17 14:37:48 【问题描述】:如何进行设置,以便动态链接(来自 Fireabase)直接打开应用,而不是先要求在浏览器或应用之间进行选择。
我已设置 Firebase 动态链接并将证书指纹 sha256 添加到 firebase 项目设置中。选择任一选项(浏览器或应用程序)最终会打开应用程序,但它仍然会询问。
据我所知,这可以通过 android 6.0 及更高版本的 Android App Links 实现。
AndroidManifest.xml 中的意图过滤器
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="my-custom-subdomain.page.link" android:scheme="http"/>
<data android:host="my-custom-subdomain.page.link" android:scheme="https"/>
</intent-filter>
有什么建议吗?
【问题讨论】:
【参考方案1】:如果没有显示任何代码,这很难说,但要使其正常工作,您必须将 intent-filter
中的 android:autoVerify
标记设置为 true
。
除了您需要按照以下方向部署和assetlinks.json
之外>https://domain.name/.well-known/
必须在您的意图过滤器支持的所有域中执行此操作。
流程解释清楚here
PD:这是assetlinks.json
的示例
[
"relation": ["delegate_permission/common.handle_all_urls"],
"target":
"namespace": "android_app",
"package_name": "com.example",
"sha256_cert_fingerprints":
["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
]
【讨论】:
谢谢 Marco,你说的很准确。我不太清楚上下文,我正在尝试使用 Firebase 的动态链接服务来做到这一点。android:autoVerify="true"
在我的清单中设置。我确实得到了assetlinks.json,但是我不能在Firebase的page.link
域上设置它,我只能在项目的设置中添加sha256,我做了。
哦动态链接.. 明白了。您是否访问过您生成的 page.link 域的知名路径?我很确定 FB 会上传资产链接
我已经检查了路径,它就在那里。设法找到问题,在 App Links Assistent 中生成数字资产文件后,我忘记按“链接和验证”按钮,这样做并重新安装应用程序解决了它,现在它按预期打开。谢谢!【参考方案2】:
我的问题是在 App Links Assistent 中按下链接和验证按钮。
对于其他面临类似问题的人,检查事项:
如果在清单中添加了意图过滤器;
如果将 corect sha256 添加到 Firebase 项目中;
如果您按下“链接和验证按钮”; 如果您使用新清单卸载并重新安装了该应用【讨论】:
以上是关于动态链接(Android App Links)不提示“打开方式”Android 6.0+的主要内容,如果未能解决你的问题,请参考以下文章