1. 程式人生 > >安卓蘋果不同下載連結怎麼做成一個二維碼

安卓蘋果不同下載連結怎麼做成一個二維碼

通常,我們開發一個app,有Android版本,有ios版本,但是,我們有時候只有一個二維碼可以放置,比如,通過社會化分享,分享到微信一張圖片,通過微信識別二維碼來下載我們的app,此時,只有一個二維碼, 那麼怎樣,讓ios系統使用者掃描二維碼下載的事ios版本,Android使用者掃描二維碼下載到的是Android版本呢。

思路就是,我們知道 ,二維碼儲存一個路徑,這個路徑我們不要去放Android或ios的下載地址,而是我們伺服器一個 html地址,那麼在這個html頁面裡,我們通過javaScript來的進行Android或ios的邏輯判斷,判斷後,不同的系統,連結到不同的地址去下載。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
 
  <script>
 
  /**
    出來的連結大概是長這樣的
    http://xxxx.cn/243423.html?c=Q23DR32
  */
 
  // c=Q23DR32是註冊時掃描獲取的邀請碼。
  // 這樣加引數,後面的引數會被自動忽略,不會影響載入此網頁
 
    goDownload();
 
    // 去下載
    function goDownload() {
      var u = navigator.userAgent, app = navigator.appVersion;
      var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1;
      var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
      // 是安卓瀏覽器
      if (isAndroid) {
        window.location.href = 'http://xxxxxxx.cn/release/xxxx-release.apk'; // 跳安卓端下載地址
      }
      // 是iOS瀏覽器
      if (isIOS) {
        window.location.href = 'https://itunes.apple.com/cn/app/xxxxxxx/id1124348115?mt=8'; // 跳AppStore下載地址
      }
 
      // 是微信內部webView
      if (is_weixn()) {
        alert("請點選右上角按鈕, 點選使用瀏覽器開啟");
      }
 
      // 是PC端
      if (IsPC()) {
        window.location.href = 'http://www.xxxxxxx.cn/index.html'; // 公司主頁
      }
    }
 
    // 是微信瀏覽器
    function is_weixn(){
      var ua = navigator.userAgent.toLowerCase();
      if(ua.match(/MicroMessenger/i)=="micromessenger") {
        return true;
      } else {
        return false;
      }
    }
 
 
    function IsPC() {
      var userAgentInfo = navigator.userAgent;
      var Agents = ["Android", "iPhone",
        "SymbianOS", "Windows Phone",
        "iPad", "iPod"];
      var flag = true;
      for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
          flag = false;
          break;
        }
      }
      return flag;
    }
 
  </script>
</body>
</html>