Android 6.0 中正在更改应用链接,以便 Android 更清楚哪些应用可以直接打开内容,而不是每次都通过对话框阻止用户。
我该如何实施?
Android 6.0 中正在更改应用链接,以便 Android 更清楚哪些应用可以直接打开内容,而不是每次都通过对话框阻止用户。
我该如何实施?
嗯,是的,App Links 是 Android Marshmallow 6.0上的新功能和很酷的功能。这让您可以通过 aster 方式打开您拥有的域的网站链接。
applink需要满足两个条件:
<intent-filter>
为网址添加确保您至少有 1 个带有意图过滤器的活动。
<activity ...>
<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:scheme="http" android:host="www.domain.com"/>
<data android:scheme="https" android:host="www.domain.com" />
</intent-filter>
</activity>
应用链接的Intent 过滤器必须声明、或两者的android:scheme
值。过滤器不得声明任何其他方案。过滤器还必须包括和类别名称。http
https
android.intent.action.VIEW
android.intent.category.BROWSABLE
不要忘记添加
android:autoVerify="true"
属性,<intent-filter>
这将告诉系统在设备上安装应用程序时开始域验证。
现在要将您的网站与您的应用程序相关联,您需要在您的网站上添加数字资产链接 JSON 文件。与您网站根目录下的路径完全相同
https://www.domain.com/.well-known/assetlinks.json
以下示例assetlinks.json 文件授予 a 链接打开权限
com.example Android app
:
这是 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"]
}
}]
只需要替换值"package_name":
并 "sha256_cert_fingerprints":
保持其他值不变。
确保您创建的文件可通过
HTTPS
协议访问
现在您可以测试应用程序了,对于测试,您可以按照android 开发者文档博客中的说明进行操作