安卓
微信: 微信基本屏蔽大部分应用的
scheme
形式来唤起本地应用,目前有以下两种降级处理方案- 与微信合作,将己方的
scheme
添加入微信白名单,则可以通过跳转到应用宝页面,再在该页面左上角点击打开按钮跳转到本地应用的目标页面(问题:整体操作流程过长,点击按钮后中间还隐藏下载应用宝的坑,实在是无语) - 前端检测为微信环境,使用引导其他浏览器打开的形式处理,引导到其他浏览器再进行调起(问题:微信对此不是很友好,略有警告分险,不过一般微信不太较真)
- 与微信合作,将己方的
一般应用: 如手百,QQ浏览器,chrome,UC 基本均可以使用 scheme 的形式进行调起。
特殊应用: 安卓低版本,或者某些特殊应用(未做详细统计),会对
scheme
会被屏蔽阻止,而导致调起无反应。
iOS
iOS 9+: 均可以使用
Universal Link
的形式调起我方APP,包括微信等,无需像安卓一样使用降级方案。(但存在一个较大问题为:由于Universal Link 本身就是一个 https 链接,在使用该链接唤起本地应用之后,应用左上角与右上角会出现返回之前的应用和跳转 Universal Link 的箭头,当我点击右上角前进的箭头后,会使用 safari打开Universal Link
的页面,并且在原应用中再也无法调起目标应用,目前该情况的处理方法为 引导用户使用safari打开,下拉页面,使用苹果自身的提示框进行打开)iOS 8-: 不支持
Universal Link
,部分可以使用scheme的形式调起,而绝大多数应用为屏蔽scheme,降级方案为尝试调起,并且跳转苹果商店的应用页面