JS打开APP实践

浏览器唤起APP的功能应该很常见了,观察发现,各大APP在这方面没有一个完美的解决方案。分享下我们的解决方案。需求是这样的:点击一个连接,如果已经安装了这款app则呼起,跳转到指定页面,如果没有安装则跳触屏的指定页,触屏没有该页面,跳转到下载页。

思路:APP内添加scheme,安装app到手机时,同时在手机上注册一个这个scheme URL。在系统需跳转到这个URL,如果手机上存在这个URL则会呼起app,如果没有则不会做任何事情。 

JS打开APP实践_第1张图片
Android端的配置

JS 实现


JS打开APP实践_第2张图片
JS端实现

JS是没有办法判断当前设备有没有安装APP的,所以,在打开唤起链接100ms(ios9 3500ms)以后,打开备选链接。

存在问题:

1.腾讯系APP内打不开,因为腾讯阻止了scheme方式的跳转。

2. 在IOS9+,未安装APP的设备,一进来会弹出一个“无法打开网页”的弹框,原因是唤起链接没有响应。

解决办法(未使用):

安卓端目前没方案,ios端通过通用链接可以解决,也就顺带解决了问题2。

通用链接原理:

在网站根目录下放置配置文件,ios会去下载这个配置文件。当用户方位https://www.jinhui.com/gotoPage时,开打我们的APP。这种方法因为是http不会被微信拦截。

你可能感兴趣的:(JS打开APP实践)