What?
通过二维码为多版本(Android/IOS/Windows Phone)的app提供统一的下载入口
Problem
一般用户都是用微信自带的“扫一扫”工具来扫码,而通过微信打开的二维码页面会自动屏蔽apk文件,所以把apk的url生成一个二维码,让用户扫一扫后直接下载是行不通的
How?
用一个HTML页面,把所有逻辑控制都在该页面进行,比如判断设备终端、扫码工具等来跳转到不同的下载地址,最后通过该HTML页面对应的URL生成一张二维码即可
Details
方法一
判断终端类型
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, // 是否是通过微信的扫一扫打开的 WeChat: u.indexOf('MicroMessenger') >-1 }; } (), // 辨别移动终端的语言:zh-cn、en-us、ko-kr、ja-jp。。。 language : (navigator.browserLanguage || navigator.language).toLowerCase()}
加入判断代码,根据不同的终端跳转到不同的下载地址
将HTML页面放到服务器上
生成二维码
方法二
做一个app下载页面放在服务器上,加上ios和android版本链接按钮
方法三
把APK文件上传到OPEN-腾讯开放平台,申请通过后会得到一个移动推广链接,用它替换原来的“android下载”链接或者直接以此链接生成一个二维码,这样用户就可以在微信中扫一扫直接下载了
注
如果是在微信里扫一扫打开的,当用户点击“android下载”的时候,要提示用户在浏览器中打开此页面