H5喚醒App之scheme方案

前言

寫移動端頁面精彩遇到喚醒App的需求, 一般都是通過scheme協議喚起的,這裏記錄一下

代碼片段

以新浪微博爲例: 其協議爲 sinaweibo://splash; 這些協議需要自己去收集,或者去官方查詢; 有些App分IOS和Android; 有些應用又不分;
這個根據終端做處理即可

<a href="sinaweibo://splash">微博app</a>
<a href="sinaweibo://userinfo?uid=3177804914">微博個人主頁</a>

// 跳轉代碼: 手機裝了app就打開; 沒有就跳轉頁面或者跳轉app store去下載, 邏輯自己定義即可
goToWeibo() {
      let u = navigator.userAgent;
      let isAndroid = u.indexOf("Android") > -1; //安卓終端
      let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端
      if (isAndroid) {
        // 安卓weibo的scheme協議跳轉
        window.location.href = "sinaweibo://userinfo?uid=3177804914";
        setTimeout(function() {
          let hidden =
            window.document.hidden ||
            window.document.mozHidden ||
            window.document.msHidden ||
            window.document.webkitHidden;
          if (typeof hidden == "undefined" || hidden == false) {
            window.location.href = "https://m.weibo.cn/u/3177804914";
          }
        }, 2000);
      }
      // IOS下的scheme協議跳轉
      if (isIOS) {
        window.location.href = "sinaweibo://userinfo?uid=3177804914";
        setTimeout(function() {
          let hidden =
            window.document.hidden ||
            window.document.mozHidden ||
            window.document.msHidden ||
            window.document.webkitHidden;
          if (typeof hidden == "undefined" || hidden == false) {
            window.location.href =
              "https://m.weibo.cn/u/3177804914";
          }
        }, 2000);
      }
    },

附上幾個常用應用的協議

推特: twitter://user?screen_name=
ins: instagram://user?username=
youtube: iOS: youtube://www.youtube.com/user/ Android : vnd.youtube://www.youtube.com/user/

其他app scheme協議快速通道:
國內: https://blog.csdn.net/swt_zql...
海外: https://help.emplify.com/hc/e...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章