我是靠谱客的博主 温婉大白,最近开发中收集的这篇文章主要介绍通过js唤醒app或者跳转应用市场,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

需求

用户安装APP,则拉起APP
用户未安装APP,则跳转应用市场

实现方案

首先我们得知道js无法判断出当前手机里面App是否安装。(假如H5页面在微信内打开,可通过调用微信内部的JS API判断出App是否安装,但是该接口不对外开放)。
浏览器中打开H5页面唤起App时也是无法判断出当前app是否安装。

针对这种情况 ,目前业内普遍采取两种做法:
  • 1.是利用延时器原理,打开H5页面会尝试唤起App,假如失败了几秒后会直接跳转到下载页面 (缺点是即使用户安装了App过了时间也会跳转到下载页,从App返回到浏览器时也会变成下载页,体验很不好)
  • 2.不采用延时器,打开H5页面时会直接弹出这个弹框,用户点击【点击下载】,就能直接跳转到App下载页面引。

实现


      const appDownload = () => { 
        function failed() {
           window.location.href = '应用商店的地址'
        }

        function transfer(cb) {
          window.location.href = 'app的scheme';
          const initialTime = new Date();
          let counter = 0;
          let waitTime = 0;
          const checkOpen = setInterval(() => {
            counter++;
            waitTime = new Date() - initialTime;
            if (waitTime > 3500) {
              clearInterval(checkOpen);
              cb();
            }
            if (counter < 1000) {
              return;
            };
          }, 20);
          
          document.addEventListener('visibilitychange', () => {
            const isHidden = document.hidden;
            if (isHidden) {
              clearInterval(checkOpen);
            }
          });
        }
        transfer(failed);
      }

      if(!this.isWeixin()) {
        appDownload();
      }

ps:上面是有延迟的实现代码

另外,在微信里面scheme方案会被屏蔽,我这边是给了提示让浏览器打开,也不知道有没有什么别的好的方案~~~

最后

以上就是温婉大白为你收集整理的通过js唤醒app或者跳转应用市场的全部内容,希望文章能够帮你解决通过js唤醒app或者跳转应用市场所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部