从浏览器或者Webview 中唤醒APP

本文介绍了从浏览器或Webview唤醒APP的各种方法,包括Url scheme、Android intent、HTTP URL订阅、iOS内置APP广告条以及Android Chrome内置app安装提示。在实际应用中,存在诸如唤醒失败后的用户体验问题和检测APP是否成功打开的挑战。解决方案包括利用iframe和页面可见性API。随着iOS9和Android M的更新,Universal Links和App Link成为新的连接WEB与APP的方式。
摘要由CSDN通过智能技术生成

移动互联时代,很多互联网服务都会同时具备网站以及移动客户端,很多人认为APP的能帮助建立更稳固的用户关系,于是经常会接到各种从浏览器、webview中唤醒APP的需求,显然,这对于前端开发人员来说,是一件很纠结的事。

唤醒APP

目前常见的主动唤醒APP方式有几种:

Url scheme

Url scheme是iOS,Android平台都支持,只需要原生APP开发时注册scheme, 那么用户点击到此类链接时,会自动跳到APP。比如

1
2
3
4
<!-- 打开考拉APP首页 -->
<a href="kaola://www.kaola.com">打开APP</a>
<!-- 呼叫号码 -->
<a href="tel://13788889999">打开拨号</a>

如果配置scheme的路径,并在app中识别,则可以直接打开APP特定页面,如下:

1
2
<!-- 打开考拉APP商品详情 -->
<a href="kaola://www.kaola.com/product/8342.html">打开APP商品详情</a>

上述的链接,需要考虑手机是否支持此Scheme:
支持:弹出相应程序;
不支持:错误处理情况因平台而异,部分app会直接跳错误页(比如Android Chrome/41,iOS中老版的Lofter); 也有的停留在原页面,但弹出提示“无法打开网页”(比如iOS7);iOS8以及最新的Android Chrome/43 目前都是直接停留在当前页,不会跳出错误提示。
总体来看, iOS的支持程度比Android好,iOS在实际使用中,除非明确禁止的(比如微信),很少碰到不支持的情况;Android平台则各个app厂商差异很大,比如Chrome从25及以后就不再支持通过js触发(非用户点击),设置iframe src地址等来触发scheme跳转

Android intent

这是Android平台独有的,使用方式如下

1
2
3
4
5
6
7
8
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值