在沒有個人/公司網站的情況下,如何利用同一個二維碼自動識別手機系統(Android/IOS)跳轉不同下載頁面
阿新 • • 發佈:2019-01-05
一、使用場景
開發了一款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,配置相關選項實現網頁自動跳轉
建立一個工程
- 填寫相關工程資訊建立工程
- 進入工程頁面複製工程的git連結
- 利用git工具(本例使用Mac系統下的Tower)clone工程
- 進入本地工程資料夾可以看到工程已經被clone下來了,不過目前只有一個初始的說明檔案
- 將之前建好的html檔案匯入本地工程資料夾
- 進入Tower填寫相關資訊並提交檔案到github庫中
- 重新整理github工程網頁可以看到檔案已經提交成功
- 點選Settings進入工程設定頁面
- 滾動到GitHub Pages項
- 選擇分支並儲存
- 儲存完後可以看到工程對應的網址連結
- 直接在該連結後拼接之前建立的html檔案即可生成最終連結,用最終連結生成的二維碼就可實現自動跳轉的功能了。歡迎大家通過圖中二維碼下載美食街App哦,不過目前只有iOS版。
根據程式碼部分邏輯:用iOS裝置掃圖中二維碼會跳轉AppStore美食街頁面,用安卓裝置掃則會在頁面上提示暫時沒有安卓版App,用其他裝置掃也會跳轉AppStore頁面。