h5页面打开app

h5页面打开app 方法是比较简单的,只要让app定义一个url,直接调用即可。可是在实现起来,发现诸多问题,

  • 如果在微信等设备,它会屏蔽掉,
  • 在其它浏览器,会弹出一个对话框,如果拒绝,可能在这个浏览器中,就无法打开了,需要清除浏览器的缓存。
所以现在默认用的方法是,腾讯的微链接,因为是腾讯内部的工具,在微信和QQ上,都有不错的表现,只是会打开微链接页面。
h5页面打开app,跳转到指定的页面 【h5页面打开app】这样一来,便不能使用微链接了,目前处理的方法是安卓及IOS8及以下,
  • 微信使用微链接方法,只打开app,
  • 在QQ或其它浏览器上,用户点击后先调用打开app并跳转到指定页面的方法,过几秒,跳转到微链接上,
    这几秒只是做一个缓冲的过程,如果用户打开app,将浏览器放到后台,(在某些浏览器上,如果程序放入后台的话,页面是不运行的,不处理js),如果页面还要运行,那就让页面跳转到微链接,无所谓了,反正跳转过来,如果打不开,过了几秒跳转到微链接上,
    不过如果浏览器要弹出对话框,如果弹出对话框,不做处理时不用户js那还好说,如果弹出对话框,还在处理js,页面过几秒会跳转到微链接,用户直接就可以看到,这一点很不爽,目前还没有解决的方法
这次主要说的是IOS9及以上的方法 Universal Links,这才是今天的重点,前面废话一堆,只是个影子
Universal Links 通用链接:通用一个url可以打开app
实现方法有此文章打通 iOS 9 的通用链接(Universal Links),这次不做过多的阐述,下面主要说说h5做的内容
h5的实际方式和上面是一样,只是一个url;
  • 跳转此url时,如果有app,并则此url的根目录有apple-app-site-associatiourln文件,那就会打开,
  • 如果没有app或app没有打开过,就会跳转到这个url,
  • 所以前端需要给此url加个友好界面,用户无法跳转时,也能给用户一个友好页面,告给用户是要下载还是怎样。
  • 如果是用此url打开的,在app页面时的最右上方,之前是显示电池的,现在会显示这个url的host地址,
  • 用户用户点击这个地址,就会在浏览器中打开这个url,以后在此手机跳转这个url时,就不是打开页面,而是跳转这个url,
  • 这个就是告诉系统,你希望的这个url的打开方式是打开app还是跳转页面;
  • 当你已经跳转页面时,想打开app,在原生浏览器中,先跳转此url,然后向下滑,会出现一个打开app的方式,点击打开后,此链接以后就是打开此app了
目前打开app,跳转到指定页面的方法就是这样了,没有一个很好的方法,
如果您有好方法,请在评论中告诉我,谢谢

    推荐阅读