前端唤起app的各种操作

H5唤起app是常见的需求,因为有些功能只能在app上完成。

由于安卓和ios系统的升级,目前主要的唤起手段是:universal link和URL Scheme两种。

下面简单对比下2种方式

通用链接(universal link)

通用链接 universal link 是 IOS 9.0 版本以上才可以使用的新的特性。此特性类似于深层链接,并能够方便地通过打开一个 https 链接来直接启动您的客户端应用(手机有安装 App)。对比起以往所使用的 URL Scheme, 这种新特性在实现 web-app 的无缝链接时能够提供极佳的用户体验。

通用链接的方式可直接将 App 打开。

注意:在 ios 12.3 版本之后,Safari 会有一个 bug,就是 URL Scheme 跟 download App 先后一起使用的话,会同时唤起 App 然后再进入 App store,体验极差。使用 universal link 可以完美解决这个问题。

通用链接的优缺点:

优点:提供极佳的用户体验,使用起来也非常方便,解决了同时唤起 app 跟 app store 的问题
缺点:只有在 ios 9 版本之上才能使用,个别浏览器不支持有兼容性问题

 

URL Scheme 方式

根据协议来判断是哪个 app 唤起。

location.href = “testa://test.aaa.com/home”;

判断是否唤起 app

因为唤起 app 并没有回调让我们知道唤起了 app,所以我们只能通过监听页面是否隐藏来实现判断是否唤起 app 的逻辑。当然这种做法还是有很大缺陷的,比如低端机型唤起速度很慢,高端机型要快得多,所以 delay 的时间要设置一个可以接受的值,我们暂时定的是 2500。还有如果用户没有安装 app,也会有 2500 的延时才能安装。

 

URL Scheme 的优缺点:

优点 1. 兼容性好,大部分机型都能兼容 2. 使用方便
缺点 1. 不能判断是否已经下载了 app,需要自己写逻辑判断 2. 用户体验不如通用链接的方式。

 

参考自 https://mp.weixin.qq.com/s/eVcCaCGOV7DUiKeg-pl7MA


发表评论

电子邮件地址不会被公开。 必填项已用*标注