简介
DeepLink与AppLink,本质上都是基于Intent框架,使App能够识别并处理来自系统或其他App的某种特殊URL,在原生App之间相互跳转,实现良好的用户体验
Scheme相关
https://www.jianshu.com/p/0de981ffa9d0
什么是DeepLink?
- 移动端深度链接,简称deeplink。这是一种通过uri链接到app特定位置的一种跳转技术,不单是简单地通过网页、app等打开目标app,还能达到利用传递标识跳转至不同页面的效果。
什么是AppLink?
- AppLink相对复杂,需要App与Web协作完成系统验证,但可以保证直接唤起目标App,无需用户二次选择或确认。
什么是Deferred DeepLink?
- 相比DeepLink,它增加了判断APP是否被安装,用户匹配的2个功能;
- 1.当用户点击链接的时候判断APP是否安装,如果用户没有安装时,引导用户跳转到应用商店下载应用。
- 2.用户匹配功能,当用户点击链接时和用户启动APP时,分别将这两次用户Device Fingerprint(设备指纹信息)传到服务器进行模糊匹配,使用户下载且启动APP时,直接打开相应的指定页面。
DeepLink和AppLink核心技术
-
DeepLink和AppLink不同点。下面这个总结很重要!
-
DeepLink和AppLink用到的核心技术
- URL SCHEMES。不论是IOS还是Android。
- 比如微信:URL Schemes:weixin://dl/moments(打开微信朋友圈)
- DeepLink与AppLink,本质上都是基于Intent框架,使App能够识别并处理来自系统或其他App的某种特殊URL,在原生App之间相互跳转,实现良好的用户体验
DeepLink实践方案
目标Activity Mainfest.xml 配置
<!--用于DeepLink,html跳到此页面 scheme_Adr: 'shark://link/?page=main',-->
<activity android:name=".activity.link.SchemeActivity"
android:screenOrientation="portrait">
<!--Android 接收外部跳转过滤器-->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- 协议部分配置 ,要在web配置相同的-->
<!--shark://link/?page=main-->
<data
android:host="link"
android:scheme="shark" />
</intent-filter>
</activity>
- 为什么要配置intent-filter,它是针对你跳转的目标来讲的,比如你要去某个朋友的家,就类似于门牌的修饰,他会在门牌上定义上述介绍的那些属性,方便你定位。当有intent发送过来的时候,就会筛选出符合条件的app来。
- action.VIEW是打开一个视图,在Android 系统中点击链接会发送一条action=VIEW的隐式意图,这个必须配置。
- category.DEFAULT为默认,category.DEFAULT为设置该组件可以使用浏览器启动,这个是关键,从浏览器跳转,就要通过这个属性。
数据解析 调用 参考 Scheme
https://www.jianshu.com/p/0de981ffa9d0
网友评论