前幾天給客戶制作的app需要上線,生成二維碼掃描進行下載,把生成好的apk掛在服務器端,將地址復制下來,通過草料二維碼(http://cli.im/)生成一個二維碼
也許你會看到有個app的選項,為什么不選擇app呢。點開之后你會發現:
它需要一個應用寶ID。上傳到應用寶,光審批就要好幾天,特別煩。並且上傳到應用寶,自己管理起來感覺很不爽。
通過網址的形式生成了一個二維碼,然后保存,通過手機QQ,瀏覽器各種掃描二維碼的工具都試了,都可以下載,但是唯獨微信不可以。這點讓人很惱火,作為二維碼的發起者,居然不支持掃描下載。
從網上百度了好多,現在在這里總結一下:
方案一
目前的APP基本都支持二維碼掃描,發現二維碼用微信掃描后打不開,無法跳轉,經折騰發現是微信的一種安全機制,需要在下載地址后面加上#mp.weixin.qq.com,就可以跳轉到瀏覽器下載頁面。
這個方法只適用於微信5.0之前的,5.0之后的這個方法就失效了。
方案二
1,首先你在QQ開放平台http://open.qq.com注冊,創建你的應用,
2,在你的應用中就可以找到 微下載的url,有pc端的,和手機端的,
3,把pc端的url地址用瀏覽器打開,然后可以看到立即下載按鈕,
4,通過查看源代碼,把這個按鈕的下載地址找到,
5,把這個下載地址生成二維碼,用微信掃一 掃就可以直接通過瀏覽器下載了。
這個方法個人不喜歡,需要上傳到騰訊的應用寶平台,審核就要好幾天,后期管理起來的話也比較麻煩,不過這個方法肯定是可以的,畢竟微信和騰訊是一家人。
方案三
做一個網頁,指向另一個網頁進行下載。這個方法也是比較常見的一個方法。做一個假的頁面然后指向我們要下載的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,點擊即可下載。
上面的這四種方法都不是特別的好,目前也沒有找到完美的解決方案,只能說微信太強大。如果說大家有好的解決方案也歡迎大家提供。
出處: http://www.cnblogs.com/jerehedu/
本文版權歸煙台傑瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。