安卓蘋果不同下載連結怎麼做成一個二維碼
通常,我們開發一個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>