上半年公司有一個新的APP項目上線,我們在項目首頁做個二維碼立倍,然后用戶用手機掃一掃就能下載了窄驹。但是很多用戶反映掃一掃之后下載不了,了解之后才知道這些用戶都是使用的微信的掃一掃耍群,而我們開發(fā)測試人員一般使用uc之類的瀏覽器做掃描。上網(wǎng)查了一下找筝,微信自帶的內置瀏覽器屏蔽了下載功能世吨,所以才出現(xiàn)用微信掃一掃不能下載的情況。這時候我們一般會建議用戶使用uc或者其他第三方瀏覽器自帶的掃一掃功能下載呻征。但是現(xiàn)在的微信太普及了耘婚,很多人都習慣性的使用微信來掃碼下載,總不能每個用戶都解釋一遍陆赋,所以我們一直在尋找解決方案沐祷。 要解決這個問題思路很明確,既然微信內置瀏覽器不支持下載攒岛,那就只能想辦法調用外部瀏覽器來下載赖临。
所以我們在尋找這么一種方案:用戶點了某個推廣鏈接如何調用外部的瀏覽器實現(xiàn)下載功能呢?
好了灾锯,廢話不多說了兢榨,直接上方案。
方案1:
彈出一個遮罩提示用戶在新的瀏覽器窗口打開顺饮。
使用的是純JS+HTML+CSS結合的方式吵聪,但不要一進入微信就彈出提示它在新瀏覽器中打開,在這個頁面里面還可以提交表單查看信息等兼雄,只有它點擊應用的鏈接后吟逝,才彈出提示它跳轉后下載。
想要制作而又不懂技術的朋友可以前往
部分代碼(網(wǎng)上有很多赦肋,我就不獻丑了)
a>
×span>p>div>
var?is_weixin = (function(){return?navigator.userAgent.toLowerCase().indexOf('micromessenger') !==?-1})();
window.onload =?function()?{
var?winHeight =?typeof?window.innerHeight !=?'undefined'???window.innerHeight :?document.documentElement.clientHeight;?//兼容IOS块攒,不需要的可以去掉
var?btn =?document.getElementById('J_weixin');
var?tip =?document.getElementById('weixin-tip');
var?close =?document.getElementById('close');
if?(is_weixin) {
btn.onclick =?function(e)?{
tip.style.height = winHeight +?'px';?//兼容IOS彈窗整屏
tip.style.display =?'block';
return?false;
}
close.onclick =?function()?{
tip.style.display =?'none';
}
}
}
方案2:
這個方案就是我們現(xiàn)在用的這種,相比第一種的話佃乘,轉化率方面都有顯著發(fā)的提升囱井,
這個方案需要我們借助一個外部的接口來實現(xiàn)此功能?
我們在他們那邊租用了此接口。
通過租用的接口可以實現(xiàn)安卓端微信直接喚醒手機默認瀏覽器打開指定的鏈接趣避,從而實現(xiàn)下載APP的功能庞呕,
具體實現(xiàn)原理:
利用HTTP請求中Header中的user-agent字段,來識別用戶的客戶端鹅巍,如果判斷用戶是在微信中打開的鏈接千扶,則自動打開系統(tǒng)手機瀏覽器來打開鏈接。如果是在手機瀏覽器打開骆捧,則正常訪問澎羞。
判斷用戶客戶端的Javasript代碼如下:
function is_wechat_client(){
? ? ? var ua = navigator.userAgent.toLowerCase();
? ? ? if(ua.match(/MicroMessenger/i)=="micromessenger"){
? ? ? ? ? return true;
? ? ? }else{
? ? ? ? ? return false;
? ? ? }
}
好了,親們敛苇,上面兩種辦法筆者都嘗試過了妆绞,均可行。如果你有更好的辦法可以在此處留言枫攀,方便廣大碼友