JS打开APP实践

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

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

Android端的配置

JS 实现


JS端实现

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

存在问题:

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

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

解决办法(未使用):

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

通用链接原理:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 很可能你的应用是与一个支持HTTPS传输数据的服务器交互,但是并没有使用TLS 1.2或更高。在这种情况下,你定义...
    Www刘阅读 3,156评论 0 5
  • 一般APP主要通过分享页面/链接到外部,再在外部通过H5/浏览器进行唤起,我将这些设计好的H5/浏览器页面称为唤起...
    小圣阅读 5,338评论 1 18
  • 又是一年中秋日。今年的中秋是在风雨中度过的,因而没有看到月亮。 自从读高中以后,这个节日里剩下的就是月饼了。异地读...
    阅悦327阅读 250评论 0 0
  • 一点一点在进步,阴影阴影怎么弄?
    没有悲伤的精灵阅读 142评论 0 0
  • 暴雨连夜下 洪水无情涨 安江拍洪水 兴致何其高 怀中孩儿落 紧握手机牢 哭天喊地闹 孩儿永别离 纵身欲跳江 孩儿水中泣
    暖心小屋阅读 231评论 5 7