美文网首页安卓iOS开发者
APP通过微信分享的H5跳转到APP内指定页面

APP通过微信分享的H5跳转到APP内指定页面

作者: 如意如意呀 | 来源:发表于2020-02-06 23:27 被阅读0次

    一,产品需求

           产品需求是:app分享到微信一个h5页面,点击h5页面,如果用户有app就打开app,没有app就下载app。

    二,具体实现

    • 一,判断是不是在微信里打开
        首先要知道在微信里点开链接,是调不起来app的。原因很简单,微信是目前超高活跃度的app稳稳第一名,但是在微信中点击app下载链接,都是无法下载app的。因为腾讯为了自身利益,屏蔽了其他app直接在微信中下载。
        判断是不是在微信里打开,这个方法网上是有很多的。
      if (ua.match(/MicroMessenger/i) == 'micromessenger')
        因为微信浏览器调不起来app,所以可以提示用户在浏览器里打开,我是给了个蒙板。如下图:
      给个蒙板
    • 二,判断是安卓还是ios系统
        因为安卓和ios的下载链接不一样 所以要判断是ios还是安卓
      if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent))//判断苹果端
      if (/(Android)/i.test(navigator.userAgent))//判断安卓端
    

       #这里要注意一个东西
       苹果要想在网页上下载 需要权限 所以简单的https是不行的 需要使用“itms-services”协议。

    引申:
    “itms-services 协议常用于 iOS 企业应用的无线部署,这可在不使用 iTunes 的情况下将内部软件发布或者分享给用户。”
    直接上代码
    itms-services://?action=download-manifest&url="https路径"

    • 三,调起有APP
         原理:不管是ios还是安卓,浏览器都不可能知道手机也没有装某个app,所以方法是首先通过URL scheme打开app,如果打不开,则跳转下载链接。
         首先调app,直接上代码
      setTimeout(function(){
             openApp.onclick()
                        }, 200)
      var openApp = document.querySelector('#open')
      openApp.onclick = function() {
             var ifr = document.createElement('iframe');
             ifr.src = scheme
             ifr.style.display = 'none'
             document.body.appendChild(ifr)
     window.setTimeout(function() {
             document.body.removeChild(ifr)
                        }, 3000);
     window.location.href = ifr.src
     };
    

       这样基本就可以吊起来app了,但是,产品需求是调起app后,跳转到分享的商品页面

    • 四,调转到app分享的商品页面
         我的方法是通过剪切板,剪切商品id,这样苹果和安卓就可以拿到剪切板数据跳到对应的商品,剪切板代码网上一大堆

    三,会出现的问题

    1.ios用户没有下载app,Safari浏览器就会弹出“Safari浏览器打不开网页,因为网址无效” 据说是浏览器内部出现从冲突 网上说可以用universal link 网上一搜 发现配置太麻烦,就放弃了 如下图:


    说服产品就行了

    2.安卓端里的小米浏览器和uc浏览器 会自动缓存文件
       当代码尝试打开app时,会弹出系统弹框,提示是否打开“app”,如果用户不小心点了取消,用户的选择就会被浏览器缓存住,下次就不会提醒了 默认取消 就无法调起app了,必须用户清除缓存,才会在出现系统提示。暂时没有找到解决方法。

    相关文章

      网友评论

        本文标题:APP通过微信分享的H5跳转到APP内指定页面

        本文链接:https://www.haomeiwen.com/subject/vivfzctx.html