1. 程式人生 > >在沒有個人/公司網站的情況下,如何利用同一個二維碼自動識別手機系統(Android/IOS)跳轉不同下載頁面

在沒有個人/公司網站的情況下,如何利用同一個二維碼自動識別手機系統(Android/IOS)跳轉不同下載頁面

一、使用場景

開發了一款App,包括iOS及Android版,到了推廣階段,準備生成二維碼讓使用者掃碼下載,那這個二維碼該怎麼生成?iOS及Andorid各自生成一個二維碼讓使用者區分下載?當然這種方式是可行的,但卻增加了使用者的使用成本!那是不是有一種方式可以通過一個二維碼使手機自動下載相應App包?

本文主要講的就是如何在沒有個人/公司網站的情況下,利用同一個二維碼自動識別手機系統(Android/IOS)跳轉不同的下載頁面。

二、解決方案

我們可以編寫一個html網頁,通過js識別當前終端屬性,根據相應終端屬性重定向到相應下載介面。然後將該html網頁上傳至網站,生成該網頁連結的二維碼圖片,使用者掃描二維碼會自動進入對應下載介面。

三、程式碼部分:index.html

<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>美食街 - 廚房菜譜大全</title>
    <script type="text/javascript">
        // 獲取終端的相關資訊
        var Terminal = {
            // 辨別移動終端型別
            platform : function
(){
var u = navigator.userAgent, app = navigator.appVersion; return { // android終端或者uc瀏覽器 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, // 是否為iPhone或者QQHD瀏覽器 iPhone: u.indexOf('iPhone'
) > -1 , // 是否iPad iPad: u.indexOf('iPad') > -1 }; }(), // 辨別移動終端的語言:zh-cn、en-us、ko-kr、ja-jp... language : (navigator.browserLanguage || navigator.language).toLowerCase() } // 根據不同的終端,跳轉到不同的地址 var theUrl = 'https://itunes.apple.com/app/id1247266869'; if(Terminal.platform.android){//安卓端 document.write('抱歉,“美食街 - 廚房菜譜大全”暫時沒有安卓版APP!'); //theUrl = 'https://itunes.apple.com/app/id1247266869'; //location.href = theUrl; } else { if(Terminal.platform.iPhone){//iPhone端 theUrl = 'https://itunes.apple.com/app/id1247266869'; }else if(Terminal.platform.iPad){//iPad端 // 還可以通過language,區分開多國語言版 switch(Terminal.language){ case 'en-us'://iPad英文版APP Store地址 theUrl = 'https://itunes.apple.com/app/id1247266869'; break; case 'ko-kr'://iPad韓語版APP Store地址 theUrl = 'https://itunes.apple.com/app/id1247266869'; break; case 'ja-jp'://iPad日文版APP Store地址 theUrl = 'https://itunes.apple.com/app/id1247266869'; break; default://iPad預設APP Store地址 theUrl = 'https://itunes.apple.com/app/id1247266869'; } } location.href = theUrl; }
</script> </head> <body> <!-- --> </body> </html>

在使用的時候將相應連結替換即可

四、製作二維碼

如果沒有個人/公司網站可以上傳上述html網頁檔案,請繼續瀏覽以下內容;如果已經有了相應網站,那麼你可以直接製作相應二維碼了。

五、將網頁檔案上傳至github,配置相關選項實現網頁自動跳轉

  1. 建立一個工程
    Snip20170804_1.png

  2. 填寫相關工程資訊建立工程
    Snip20170804_2.png
  3. 進入工程頁面複製工程的git連結
    Snip20170804_3.png
  4. 利用git工具(本例使用Mac系統下的Tower)clone工程
    Snip20170804_4.png
  5. 進入本地工程資料夾可以看到工程已經被clone下來了,不過目前只有一個初始的說明檔案
    Snip20170804_7.png
  6. 將之前建好的html檔案匯入本地工程資料夾
    Snip20170804_8.png
  7. 進入Tower填寫相關資訊並提交檔案到github庫中
    Snip20170804_9.png
    Snip20170804_10.png
  8. 重新整理github工程網頁可以看到檔案已經提交成功
    Snip20170804_11.png
  9. 點選Settings進入工程設定頁面
    Snip20170804_12.png
  10. 滾動到GitHub Pages項
    Snip20170804_13.png
  11. 選擇分支並儲存
    Snip20170804_14.png
  12. 儲存完後可以看到工程對應的網址連結
    Snip20170804_16.png
  13. 直接在該連結後拼接之前建立的html檔案即可生成最終連結,用最終連結生成的二維碼就可實現自動跳轉的功能了。歡迎大家通過圖中二維碼下載美食街App哦,不過目前只有iOS版。
    Snip20170804_17.png
    根據程式碼部分邏輯:用iOS裝置掃圖中二維碼會跳轉AppStore美食街頁面,用安卓裝置掃則會在頁面上提示暫時沒有安卓版App,用其他裝置掃也會跳轉AppStore頁面。