一、Deep Link
1.什么是 Deep Link?
Deep Link 是 App 的深度连接,当单击链接或编程请求调用Web URI意图时,Android系统按顺序依次尝试以下每一个操作,直到请求成功为止:
  1. 打开用户首选的应用程序,它可以处理URI,如果指定的话。
  2. 打开可以处理URI的惟一可用应用程序。
  3. 允许用户从对话框中选择应用程序。
意思也就是用户可以自己写一串字符串,系统会对该字符串进行解析,然后调起注册过相应scheme的应用,如果有多个注册了,那么就会弹出对话框让用户选择。
 
2.URL SCHEMES
URL,同一资源定位符。
Schemes,标识的是 URL 中的一个位置,即 :// 之前的那段字符
用这个可以如同定位网页一样,用一种特殊的 URL 来定位一个应用甚至应用里某个具体位置,而定位的这个用用就应该相当于 URL 的 Schemes 部分。但是应用的 URL Schemes 并不是唯一的,也就是说一个用用可以很多名字,不同应用的 URL Schemes 会可能因为名字一样而发生冲突。
 
Deep Link 里面核心技术就是:URL SCHEMES
App1 与 App2 之间,如何完成横向调用?
1)App2 要进行自定义 scheme 的配置,并进行参数处理的 coding。
2)App1 进行调用,首先判断设备是否安装 App2.
3)如果未安装,则跳转到 App2 的 Web 版应用(假设他提供 Web 版) 或者是跳转到 AppStore 等市场进行下载。
4)如果已安装,则调用 App2 配置好的 URL SCHEME ,直接打开 App2 的相关界面。
 
3.scheme 唤醒方式
1)window.open( ) 或者 window.location.href = ‘scheme’
2)a 标签打开
3)动态创建 a 标签,模拟点击事件
 
4.唤醒方式对比
1)缺点:iOS 只部分版本支持 window.location.href 
                Android 50%浏览器会被屏蔽 (其中30%浏览器会自动添加 http)
     优点:自动唤醒,无需用户多一步操作
2)缺点:手动唤醒,用户多一步操作
     优点:解决 90% 手机兼容问题,比较稳定
3)缺点:模拟点击事件兼容问题导致部分 Android 机型不支持
                部分浏览器仍然添加 http 导致无法唤醒
     优点:自动唤醒,无需用户多一步操作
 
流程图如下:
 
 
 

最新文章

  1. 搜索框UISearchController的使用(iOS8.0以后替代UISearchBar + UISearchDisplayController)
  2. jmeter随笔(10)-中文url编码问题
  3. SVN客户端解决authorization failed问题
  4. Excel多条件筛选求和
  5. div+css3实现漂亮的多彩标签云,鼠标移动会有动画
  6. linux下安装oracle11g 64位最简客户端(转)
  7. 浅析NopCommerce的多语言方案
  8. liunx分布式监控工具
  9. Mysql事务开启方式(客户端+java手动+Spring Boot)
  10. MySQL函数--(1)
  11. 寒假训练——搜索 E - Bloxorz I
  12. Luogu P2421 [NOI2002]荒岛野人
  13. Asp.net有三大对象:HttpContext, HttpRequest, HttpResponse
  14. 文件I/O(2)
  15. Hadoop HDFS分布式文件系统 常用命令汇总
  16. MVC使用 Elmah 日志记录组件
  17. Spring工作原理与单例
  18. 【mysql】mysql front 提示Access violation at address 010C9CD0 in module ‘mysql-front.exe’
  19. hdu 3089 (快速约瑟夫环)
  20. T_SQL的 FOR XML PATH 用法

热门文章

  1. MySQL的explain分析sql语句
  2. Python深度学习读书笔记-3.神经网络的数据表示
  3. 会话跟踪之Cookie技术
  4. jest 的 coverage 提示 unknown 的解决方案
  5. 用 Python 解答两道来自阿里伯乐系统的笔试题
  6. C#简单工厂模式和单列设计模式潜要解析
  7. IntelliJ IDEA调试时,格式化显示日期变量
  8. Python --链接MYSQL数据库与简单操作 含SSH链接
  9. Django 实现分库
  10. Hello World!----html