1

Android 6.0 中正在更改应用链接,以便 Android 更清楚哪些应用可以直接打开内容,而不是每次都通过对话框阻止用户。

我该如何实施?

4

1 回答 1

7

嗯,是的,App Links 是 Android Marshmallow 6.0上的新功能和很酷的功能。这让您可以通过 aster 方式打开您拥有的域的网站链接。

applink需要满足两个条件:

  1. <intent-filter>为网址添加
  2. 验证域的所有权

确保您至少有 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值。过滤器不得声明任何其他方案。过滤器还必须包括和类别名称。httphttpsandroid.intent.action.VIEWandroid.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 开发者文档博客中的说明进行操作

于 2015-10-01T17:15:50.120 回答