H5頁面喚醒APP

這個(gè)項(xiàng)目用的是vue框架,需要判斷手機(jī)系統(tǒng)和瀏覽器環(huán)境,因?yàn)樵谖⑿胖惺遣荒苤苯哟蜷_APP的,微信屏蔽了此功能,當(dāng)時(shí)研究了好久,還是沒能實(shí)現(xiàn),我也是很無奈。
打開APP用的是url scheme,需要客戶端那邊定義給出鏈接,前端直接跳轉(zhuǎn)就行了。
下面是js部分代碼

goToApp() {
  if (isWXBrowser) { 
    //判斷是否是在微信瀏覽器中打開的h5鏈接,如果是,只能跳轉(zhuǎn)到下載APP
    if ("ios" == getAppType()) {
      window.location.href = this.iosDownUrl; // 跳轉(zhuǎn)到App Store
    } else {
      window.location.href = this.androidDownUrl; // 跳轉(zhuǎn)到應(yīng)用寶
    }
  } else {
    if ("ios" == getAppType()) {
      this.openOrDown(this.iosOpenUrl, this.iosDownUrl);
    } else {
      this.openOrDown(this.androidOpenUrl, this.androidDownUrl);
    }
  }
},
openOrDown(openUrl, downUrl){
  window.location.href = openUrl;
  let hasApp = true;
  setTimeout(function() {
    //沒有安裝APP則跳轉(zhuǎn)至應(yīng)用寶下載,延時(shí)時(shí)間設(shè)置為2秒
    if (!hasApp){
      window.location.href = downUrl;
    }
  }, 2000);
  let t1 = Date.now();
  setTimeout(function() {
    //t的時(shí)間就是出發(fā)APP啟動(dòng)的時(shí)間,若APP啟動(dòng)了,再次返回頁面時(shí)t2這行代碼執(zhí)行,hasApp即為true。反之若APP沒有啟動(dòng)即為false
    let t2 = Date.now();
    hasApp = !(!t1 || t2 - t1 < 1150);
  }, 1000);
}

最后在微信小程序里可以直接打開APP,不過小程序又沒有打開App Store的功能,安卓也打不開應(yīng)用市場。具體可以參考小程序官方文檔https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容