前幾天給客戶製做的app須要上線,生成二維碼掃描進行下載,把生成好的apk掛在服務器端,將地址複製下來,經過草料二維碼(http://cli.im/)生成一個二維碼javascript
也許你會看到有個app的選項,爲何不選擇app呢。點開以後你會發現:html
它須要一個應用寶ID。上傳到應用寶,光審批就要好幾天,特別煩。而且上傳到應用寶,本身管理起來感受很不爽。java
經過網址的形式生成了一個二維碼,而後保存,經過手機QQ,瀏覽器各類掃描二維碼的工具都試了,均可如下載,可是惟獨微信不能夠。這點讓人很惱火,做爲二維碼的發起者,竟然不支持掃描下載。web
從網上百度了好多,如今在這裏總結一下:瀏覽器
目前的APP基本都支持二維碼掃描,發現二維碼用微信掃描後打不開,沒法跳轉,經摺騰發現是微信的一種安全機制,須要在下載地址後面加上#mp.weixin.qq.com,就能夠跳轉到瀏覽器下載頁面。安全
這個方法只適用於微信5.0以前的,5.0以後的這個方法就失效了。服務器
1,首先你在QQ開放平臺http://open.qq.com註冊,建立你的應用,
2,在你的應用中就能夠找到 微下載的url,有pc端的,和手機端的,
3,把pc端的url地址用瀏覽器打開,而後能夠看到當即下載按鈕,
4,經過查看源代碼,把這個按鈕的下載地址找到,
5,把這個下載地址生成二維碼,用微信掃一 掃就能夠直接經過瀏覽器下載了。 微信
這個方法我的不喜歡,須要上傳到騰訊的應用寶平臺,審覈就要好幾天,後期管理起來的話也比較麻煩,不過這個方法確定是能夠的,畢竟微信和騰訊是一家人。app
作一個網頁,指向另外一個網頁進行下載。這個方法也是比較常見的一個方法。作一個假的頁面而後指向咱們要下載的apk:工具
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"/> <title>判斷是不是微信內置瀏覽器</title> </head> <body> <h1>若是用微信瀏覽器打開能夠看到下面的文字</h1> </body> </html> <script type="text/javascript"> window.onload = function(){ if(isWeiXin()){ var p = document.getElementsByTagName('p'); p[0].innerHTML = window.navigator.userAgent; } } function isWeiXin(){ var ua = window.navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i) == 'micromessenger'){ return true; }else{ return false; } } </script>
主要是來判斷當前打開的瀏覽器是否是微信,micromessenger表明的就是微信的瀏覽器。
固然這種方式打開以後會一樣須要跳轉到另外的瀏覽器去下載。體驗也很差。
上傳到騰訊微雲。這個方法也是一個變相改變路徑的過程,將咱們的程序上傳到騰訊的微雲上
點擊左上角的添加,將咱們的apk上傳到騰訊微雲上,
在咱們上傳的apk的右邊它會自動給咱們生成一個二維碼,咱們使用微信掃描這個二維碼的時候,會彈出騰訊微雲的界面
而後咱們點擊咱們上傳的apk,點擊便可下載。
上面的這四種方法都不是特別的好,目前也沒有找到完美的解決方案,只能說微信太強大。若是說你們有好的解決方案也歡迎你們提供。