如何生成一個安卓和蘋果手機都能識別的二維碼

問題

  開發一款app後,有android和ios兩個版本,如何讓這兩個版本的app生成一個二維碼?即ios的客戶掃碼下載ios版本,android客戶掃碼下載android版本。

解決方案

方案一:放在服務器上

(1)新建一個html文件,通過JavaScript來判斷用戶的手機系統(IOS或Android),判斷之後,根據不同的手機系統,跳轉到不同的鏈接去下載
(2)然後,使用這個html文件的鏈接去生成一個二維碼圖片
(3)最後,拿出手機掃一掃二維碼圖片會跳轉到相應的下載鏈接。

具體步驟

(1)新建名爲down.html文件,代碼如下,並將該文件保存在服務器中。

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>二維碼下載</title>

    <script type="text/javascript">
        /*  
         * 智能機瀏覽器版本信息:    
         */
        var browser = {
            versions: function() {
                var u = navigator.userAgent,
                    app = navigator.appVersion;
                return { //移動終端瀏覽器版本信息  
                    trident: u.indexOf('Trident') > -1, //IE內核  
                    presto: u.indexOf('Presto') > -1, //opera內核  
                    webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內核  
                    gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內核  
                    mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否爲移動終端  
                    ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端  
                    android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android終端或者uc瀏覽器  
                    iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否爲iPhone或者QQHD瀏覽器  
                    iPad: u.indexOf('iPad') > -1, //是否iPad  
                    webApp: u.indexOf('Safari') == -1 //是否web應該程序,沒有頭部與底部  
                };
            }(),
            language: (navigator.browserLanguage || navigator.language).toLowerCase()
        }

        if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
            window.location = "https://apps.apple.com/cn/app/xxxxxxx";  //改地址放入IOS跳轉鏈接
        } else if (browser.versions.android) {               //該地址放入Android下載包鏈接
            window.location = "http://ip:port/app/xxxx.apk";
        }

                //    document.writeln("語言版本: " + browser.language +"<br/>");  
             //       document.writeln(" 是否爲移動終端: " + browser.versions.mobile+"<br/>");  
             //      document.writeln(" ios終端: " + browser.versions.ios+"<br/>");  
             //      document.writeln(" android終端: " + browser.versions.android+"<br/>");  
            //       document.writeln(" 是否爲iPhone: " + browser.versions.iPhone+"<br/>");  
            //        document.writeln(" 是否iPad: " + browser.versions.iPad+"<br/>");  
              //      document.writeln(navigator.userAgent);
    </script>
</head>
<body>
</body>
</html>

(2)保存在服務器中的路徑如下:

 

3)然後將該URL: http://IP地址/Myserver/sraindy/down.html 放在以下任一方法中生成二維碼,支持上傳LOGO,再使用手機掃一掃即可。

 

生成二維碼的方法:

[草料二維碼]:(https://cli.im/)
[聯圖網]:(http://www.liantu.com/)

方案二:將網頁文件上傳至github,配置相關選項實現網頁自動跳轉

如果沒有個人/公司網站可以上傳上github,具體實現參考如下網站

weixin_42169453博客:https://blog.csdn.net/weixin_42169453/article/details/80250035
項目地址:https://github.com/xiaze/autodownload

方案三:使用第三方網站,生成二維碼

1、草料二維碼(https://cli.im/app)
  缺點:安卓app只支持應用寶(騰訊)的ID

2、二百二維碼(http://wenda.hotapp.cn/)

3、芝麻二維碼(https://www.hotapp.cn/?src=http://hao2b.cn)

如何獲取蘋果的下載地址?

我們以獲取QQ的下載地址爲例
第一步:打開http://aso100.com

第二步,輸入QQ ,查詢,並單擊qq圖標。

第三步,單擊qq的AppID

第四步,得到的頁面的地址就是iOS版本qq的下載地址

 

作者:Sraindy
鏈接:https://www.jianshu.com/p/722b09e3052d
 

 

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