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下载”的时候,要提示用户在浏览器中打开此页面


yorickshan
113 声望0 粉丝

此生理想,近期计划,今日功课