通常,我们开发一个app,有Android版本,有ios版本,但是,我们有时候只有一个二维码可以放置,比如,通过社会化分享,分享到微信一张图片,通过微信识别二维码来下载我们的app,此时,只有一个二维码, 那么怎样,让ios系统用户扫描二维码下载的事ios版本,Android用户扫描二维码下载到的是Android版本呢。
思路就是,我们知道 ,二维码存储一个路径,这个路径我们不要去放Android或ios的下载地址,而是我们服务器一个 html地址,那么在这个html页面里,我们通过javaScript来的进行Android或ios的逻辑判断,判断后,不同的系统,链接到不同的地址去下载。
<!DOCTYPE html>
<html>
<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>
来千语创想移动应用开发平台学习更多免费APP开发知识:app开发 app开发源码下载 app开发视频教程 app制作模板等免费获取。
立即免费在线制作一个APP,新手注册即送开发大礼包
提交app定制需求,了解报价和周期:
电脑请点击https://www.qianyuthink.com/?url=/index?uzchannel=500
手机请点击https://www.qianyuthink.com/?url=/m/quickaddcustom