微信扫描二维码下载问题
我们希望让用户通过扫二维码下载apk,但是微信屏蔽了这种方式,实在没有办法实现。
只能上传应用宝,然后将应用宝的安装包下载地址生成二维码(可能会很长哦,可以弄一个短链接),这样就可以使用微信下载了。
可是我们的二维码已经发放出去了,市场宣传品上的二维码都指向http://..../abc.apk了,无法进行更改。
解决办法如下:
1、新做一个下载网页,内包含实际下载地址和相关的二维码。
网页中load判断请求是否来自微信浏览器的脚本:
function is_weixin() { var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == "micromessenger") { return true; } else { return false; } }
如果请求来自微信,则加入打开浏览器进行下载的提示,如果不是来自微信,则正常显示即可。
2、用ng截获下载apk的请求,如果是微信扫描,则强制跳转下载地址到上文中的网页地址:
location /apks/abc.apk { if ($http_user_agent ~* "MicroMessenger") { rewrite ^/apks/(.*)$ http://... ... .../index.html redirect; } }