deeplink
1.什么是deeplink?
简而言之,就是你在手机浏览器上面点击一个链接,可以跳转到另一个app内部的某一个页面,不是app正常打开时显示的首页内容。
在早期的时候各个app之间就像大海(Android,ios)中的孤岛,互相之间没有什么联系,一项技术的出现,必然是为了解决某些痛点,直到deeplink(Android)/universallink(ios)的出现,各app间得以联通
2. deeplink的应用
- deeplink在广告中可以很好的应用
比如使用Deeplink的广告商可以在用户点击广告后直接进入指定的App页面中, 而没有使用Deeplink的App广告,只能在用户点击以后将用户跳转到App的首页上面去。
- 商品分享
如果没有deeplink,每个 app 都是独立的。内容和服务之间的链接消失了,应用搜索是断裂的。从一定程度上说,每个 app 都建立起自己的孤岛,链接和数据不能在 app 之间交换,deeplink让 app 开发者能够链接到应用内特定的页面。举个例子朋友在微信上发给你某个商品的介绍链接,假如该APP使用了Deeplink技术,如果你同样安装了这个app,那你就可以点击链接,跳转app该商品页面。可以直接在这个页面购买该商品,不是跳转到首页再去搜索并寻找。
- h5 Web页面跳转App
例如某些网站,可以通过web链接直接唤起app并打开对应页面(前提是app做过对应处理)
3.常见的api schema
- 浏览器示例
4.实现
- 基础DeepLink调用方式:
打开APP发起者需要处理所有的容错,版本检查,参数非标准传递等所有事项。下面是各个系统的DeepLink实现的具体技术
Android 系统: 创建一个Intent,并且指定目标应用的包名(例如com.twitter等)和参数等,既可以打开目标应用。
iOS系统:使用openURL("twitter://userid/1234"), canOpenURL
Windows Phone:使用UriMapper ,例如Uri:"/Music/song123"
JavaScript:使用Intent Schema,使用新窗口打开,但是很多浏览器/应用并不支持这些JS的执行,或者有白名单列表。
- app links/universal links
Android 和 iOS其实是鼓励各个应用之间进行交互和集成,提高用户体验,为了就解决基础调用方式的复杂性。2015年,Android 和iOS依次推出了方便开发者得App Links技术,谷歌叫做App Links(Android 6.0),苹果叫做Universal Links(iOS9.0),基本想法就是把打开应用的地址,统一为使用HTTP(S)方式,系统通过拦截和解析HOST地址,与系统注册的HOST进行匹配,如果发现就可以直接打开APP。
-
第三方服务
标签:App,Android,跳转,deeplink,app,页面 From: https://www.cnblogs.com/coderzdz/p/18135235app中实现,可以通过一些第三方sdk,可以更全面的处理各种情况