頭幾天給客戶制作的app需要上線,生成2維碼掃描進行下載,把生成好的apk掛在服務器端,將地址復制下來,通過草料2維碼(http://cli.im/)生成1個2維碼
或許你會看到有個app的選項,為何不選擇app呢。點開以后你會發現:
它需要1個利用寶ID。上傳到利用寶,光審批就要好幾天,特別煩。并且上傳到利用寶,自己管理起來感覺很不爽。
通過網址的情勢生成了1個2維碼,然后保存,通過手機QQ,閱讀器各種掃描2維碼的工具都試了,都可以下載,但是惟獨微信不可以。這點讓人很惱火,作為2維碼的發起者,竟然不支持掃描下載。
從網上百度了好多,現在在這里總結1下:
目前的APP基本都支持2維碼掃描,發現2維碼用微信掃描后打不開,沒法跳轉,經折騰發現是微信的1種安全機制,需要在下載地址后面加上#mp.weixin.qq.com,就能夠跳轉到閱讀器下載頁面。
這個方法只適用于微信5.0之前的,5.0以后的這個方法就失效了。
1,首先你在QQ開放平臺http://open.qq.com注冊,創建你的利用,
2,在你的利用中就能夠找到微下載的url,有pc真個,和手機真個,
3,把pc真個url地址用閱讀器打開,然后可以看到立即下載按鈕,
4,通過查看源代碼,把這個按鈕的下載地址找到,
5,把這個下載地址生成2維碼,用微信掃1掃就能夠直接通過閱讀器下載了。
這個方法個人不喜歡,需要上傳到騰訊的利用寶平臺,審核就要好幾天,后期管理起來的話也比較麻煩,不過這個方法肯定是可以的,畢竟微信和騰訊是1家人。
做1個網頁,指向另外一個網頁進行下載。這個方法也是比較常見的1個方法。做1個假的頁面然后指向我們要下載的apk:
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf⑻"/> <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代表的就是微信的閱讀器。
固然這類方式打開以后會一樣需要跳轉到另外的閱讀器去下載。體驗也不好。
上傳到騰訊微云。這個方法也是1個變相改變路徑的進程,將我們的程序上傳到騰訊的微云上
點擊左上角的添加,將我們的apk上傳到騰訊微云上,
在我們上傳的apk的右側它會自動給我們生成1個2維碼,我們使用微信掃描這個2維碼的時候,會彈出騰訊微云的界面
然后我們點擊我們上傳的apk,點擊便可下載。
上面的這4種方法都不是特別的好,目前也沒有找到完善的解決方案,只能說微信太強大。如果說大家有好的解決方案也歡迎大家提供。