deeplink

作者: storyWrite | 来源:发表于2021-12-26 15:54 被阅读0次

    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

    image.png
    • 浏览器示例


      image.png

    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。

    • image.png
    • 第三方服务

    app中实现,可以通过一些第三方sdk,可以更全面的处理各种情况

    相关文章

      网友评论

        本文标题:deeplink

        本文链接:https://www.haomeiwen.com/subject/rprsqrtx.html