笔记(23)App Links链接一键跳转目标APP

December 09, 2023
测试
测试
测试
测试
4 分钟阅读

一键跳转功能介绍:通过 URL Scheme 、Deep Link(Android 6.0深度链接) 、Universal Links(IOS9.0通用链接) 实现在不同浏览器中拉起目标APP特定页面 Android 和 iOS其实是鼓励各个应用之间进行交互和集成,提高用户体验,为了就解决基础调用方式的复杂性。2015年,Android 和iOS依次推出了方便开发者得App Links技术,谷歌叫做App Links(Android 6.0),苹果叫做Universal Links(iOS9.0),基本想法就是把打开应用的地址,统一为使用HTTP(S)方式,系统通过拦截和解析HOST地址,与系统注册的HOST进行匹配,如果发现就可以直接打开APP。

image.png

AppLinks是一个特殊的DeepLink,它可以让你的应用和你的网站URL进行绑定,这样当你在点击你网站链接的时候(非浏览器中)就能调起你的App,而不是出现选择界面。 Deeplink是一个intent过滤器,他可以使用户直接进入某个Activity页面。但是有个不好的是当匹配到多个intent时就会弹一个让用户选择的框。官方给了下面一张图,而AppLinks就不会有这个弹框:

image.png

具体实现 Applink实现参考 Applink实现参考2 deeplink实现参考 Universal Links实现参考

image.png

1.在manifest中开启autoVerify

<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.example.com" />
        <data android:scheme="https" />
    </intent-filter>
</activity>
注意:开启autoVerify的activity中的<intent-filter..>的action必须为android.intent.action.VIEW,
category必须包含android.intent.category.BROWSABLE,data的scheme必须包含http/https,否则不生效,
而且AppLinks必须在Android 6.0 以上的手机才可生效。

2.在网站上创建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"]
  }
}]
package_name就是应用的包名,sha256_cert_fingerprints为正式版的签名;然后将assetlinks.json文件放在网站的.well-known目录下

3.通过https://domain.name/.well-known/assetlinks.json测试是否可用

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多