我是否需要为应用链接添加<meta-data>?

时间:2018-11-01 16:34:35

标签: android applinks

在添加元数据标签之前,我的Android应用链接功能无法正常工作

this._router.navigate(['/'])

我读过herehere的建议。但是Google official documentation没有提到。

那么...真的需要吗?还是我做错了其他事情?

(当我提到“应用程序链接”不起作用时,我应注意深层链接有效,但Android仍显示“默认应用程序选择器对话框”)

更新#1 : 我正在Android 8.1上进行测试。我已经上传了<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/> 文件。这是我处理深层链接的活动:

.well-known/assetlinks.json

2 个答案:

答案 0 :(得分:1)

当您使用该元标记时,Android将在安装时验证“所有权”。仅在清单中带有该标签的情况下,您的应用才会打开而无需任何请求。我说的是选择器,您想打开哪个应用程序来处理清单中定义的URL。

您可以检查此命令以获取验证结果,它可以帮助您了解问题所在:

adb shell dumpsys package domain-preferred-apps

另请参阅有关文档:Verify Android App Links

答案 1 :(得分:0)

好吧,@Michael回复后,我想我找到了原因。

网站将http重定向到https流量。并且,一旦我删除了<data android:scheme="http" />,我就可以注释<meta-data>标签。实际上,他们在文档中提到

  

仅当系统找到所有的匹配数字资产链接文件时   清单中的主机会执行此操作,然后将您的应用建立为默认   指定的网址格式的处理程序。

我想这同样适用于所有“主机”和“方案”,即使包含<meta-data>也会覆盖该规则。

谢谢大家的回复。