一、什么是应用链接
应用链接是Android系统提供的一种机制,允许应用程序与网页进行深度链接,当用户点击网页上的链接时,可以直接打开相关联的应用程序,而不是弹出浏览器。
应用链接需要在应用程序中配置,并在网站上添加Digital Asset Links文件,来让系统知道应用和网站之间的关联关系。这样系统就能够智能地处理用户的点击操作,为用户提供更好的使用体验。
二、应用链接的配置
要实现应用链接,应用程序需要在应用清单文件中添加相关的配置信息。以下是一个示例:
<activity android:name=".MainActivity" android:label="@string/app_name"> <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="example.com" android:pathPrefix="/articles"/> </intent-filter> </activity>
上面的代码段就是一个典型的应用链接配置。其中,android:autoVerify="true"
表示自动验证 Digital Asset Links 文件中的声明,并将应用链接与 Web 站点关联起来。
<data>
元素中定义了应用链接的 URI 模式,例如 http://example.com/articles/*
,这里的协议是http,主机名是example.com,路径是/articles。这个 URI 模式将与网站上的 Digital Asset Links 文件中定义的 URI 模式相匹配。
三、Digital Asset Links文件的创建
要添加应用链接的支持,网站上必须要添加 Digital Asset Links 文件,这个文件包含了与应用关联的网址信息。以下是一个示例:
{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.myapp", "SHA256_cert_fingerprints": ["12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78"] } }
上面的JSON格式的文件内容定义了应用的包名和证书指纹,这与应用清单文件中配置的信息相匹配。当网站上的 Digital Asset Links 文件中的 URI 模式与应用程序的应用链接过滤器匹配时,Android 系统会将应用程序与 URIs 相关联。
四、如何测试应用链接
测试应用链接时,可以在网站上添加类似下面的 HTML 代码:
<a href="http://example.com/articles/123" target="_blank">Open in app</a>
当用户点击这个链接时,系统会提示用户选择应用程序打开链接。如果没有安装应用程序,会默认打开链接所在的浏览器。
五、注意事项
在使用应用链接时,需要注意以下几个问题:
1. Digital Asset Links 文件必须部署在网站的根目录下,名称为/.well-known/assetlinks.json
。
2. 当使用 Https 进行传输时,必须使用 SSL 证书。
3. 应用链接的配置需要谨慎处理,一旦配置错误,可能导致应用程序无法通过链接打开。
结语
通过应用链接机制,Android 系统能够智能地将网页链接与应用程序关联起来,为用户提供更加顺畅的使用体验。在实现应用链接时,需要在应用程序的清单文件中配置相关信息,并在网站上添加 Digital Asset Links 文件。