一、使用场景
开发了一款App,包括iOS及Android版,到了推广阶段,准备生成二维码让用户扫码下载,那这个二维码该怎么生成?iOS及Andorid各自生成一个二维码让用户区分下载?当然这种方式是可行的,但却增加了用户的使用成本!那是不是有一种方式可以通过一个二维码使手机自动下载相应App包?
本文主要讲的就是如何在没有个人/公司网站的情况下,利用同一个二维码自动识别手机系统(Android/iOS)跳转不同的下载页面。
测试地址:https://xiaze.github.io/autodownload/index.html
二、解决方案
我们可以编写一个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/id1299542018';
if(Terminal.platform.android){//安卓端
document.write('抱歉,“简听 - 随时随地,想听就听”暂时没有安卓版APP!');
//theUrl = 'https://itunes.apple.com/app/id1299542018';
//location.href = theUrl;
} else {
if(Terminal.platform.iPhone){//iPhone端
theUrl = 'https://itunes.apple.com/app/id1299542018';
}else if(Terminal.platform.iPad){//iPad端
/