美文网首页
Deep Linking(深度链接)

Deep Linking(深度链接)

作者: 韩发发吖 | 来源:发表于2017-04-05 15:24 被阅读1011次

Deep Linking(深度链接)

这里讲的Deep Linking(深度链接),在PC开发中是指指向首页的链接或是指向具体内容页的链接。在移动端开发中deep linking 则是指app 在 handle 特定 URI 的时候可以直接跳转到对应的内容页或触发特定逻辑,而不仅仅是启动 app。深度链接好处:

  • 便于用户访问,提高用户体验
  • 传播便捷,为营销提供了一种全新的工具

Deep Linking实现

目前处理 deep linking,主要有两种方式:

Custom URL Scheme
在 universal links 出现之前的很长一段时间里,iOS 上主要通过 custom URL scheme 来实现 deep linking,以及 app 间的通信。

在info plist里设置自定义URL后,handle URL的入口是app delegate方法 application:openURL:sourceApplication:annotation:(iOS 9 开始被 deprecate)或 application:openURL:options:

  • (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
    sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    BOOL handled = NO;
    // code to handle the URL
    return handled;
    }

1、沙盒机制
iOS系统针对安全问题,使用了沙盒机制来保障用户的安全和隐私,但是这一机制也阻碍了应用间合理的信息共享,于是提出了URL Schemes解决办法。 沙盒机制:应用只能访问它声明可能访问的资源

2、URL Schemes
URL Schemes:一个可以让APP间互相跳转的协议,通过URL Schemes可以跳转到应用的具体内容页面。

3、实现方式

如图所示,添加URL Schemes

Universal Links (在 iOS 9 上引入了 universal links)

Universal links 的具体实现可以参考官方文档:Support Universal Links。简单来说你需要:

  • 添加一个 apple-app-site-association 文件到你的网站来描述 URL 和 app 的关联。
  • 添加 com.apple.developer.associated-domains entitlement 来指定要从哪些域名查询 universal links support。
  • 在 app delegate 的 application:continueUserActivity:restorationHandler: 方法中 handle userActivity.webpageURL。

1、实现步骤
(1)、首先需要在developer.apple.com注册一个APP
(2)、准备一个Universal link的域名(domain)
(3)、在APP Indentifier中启用Associated Domains
(4)、在Xcode中启用Associated Domains
(5)、将 Domain信息填写到Xcode - APP Indentifier
(6)、为你的Domain申请ssl证书
(7)、创建Apple - APP - site - association Json 文件
(8)、使用ssl证书签名你的Json 文件
(9)、配置你的服务器将Json 文件上传到服务器
(10)、编写解析链接和跳转代码

Deep Linking技术支持

第三方平台

DeepShare(http://deepshare.io/):帮助开发者打破WEB和APP之间的信息壁垒,实现APP的内容直达及监测
LinkedME(https://www.linkedme.cc/):让APP不再是信息的孤岛----增强运营转化+实现流量变现

相关文章

网友评论

      本文标题:Deep Linking(深度链接)

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