我們希望讓用戶通過掃二維碼下載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; } }