admin管理员组文章数量:1585967
不管是app的下载链接还是普通文件的链接在微信内置浏览器或者QQ内置浏览器分享都会被拦截。这是腾讯对第三方下载域名实施的打压政策。被屏蔽了也就意味着链接在微信中是无法正常打开的,那么此时用户在微信内打开就会提示“已停止访问该网页”。那么我们遇到这个问题该怎么办呢。
首先我们要解决域名被拦截的阻碍,其次就是实现微信内直接下载app或打开指定页面的功能。下面给大家大概分析一下如何实现功能和实现后的效果。
首先我们需要对分享域名加JS防封接口,这需要对php代码进行处理,然后我们再加入浏览器外跳接口,以达到我们的期望需求。
1、申请腾讯开放平台开发者
具体流程可以去访问http://open.qq/,大概的意思是需要将apk提交到腾讯开放平台的里面,每个apk应该会自动生成一个二维码,每年支付一定的费用,然后在微信里面扫一下这个二维码,这个时候也需要先安装一个手机应用宝,才能进行 apk的安装。
对于这种方案,只能用一种很流行的话说:”很任性”。
2、重定向
这种方法对于一些已经发布出去的二维码比较有用,也是目前比较普遍的做法。不可能因为微信不能直接下载了,就得把所有的已经流出去的二维码重新生成吧?
2.1 判断浏览器类型
/*首先判断是否是pc,若是pc访问则跳转到http://app.ctrip/*/
var u = navigator.userAgent || ''; var isPC = !/(iphone|ios|android|mini|mobile|mobi|Nokia|Symbian|iPod|iPad|Windows\s+Phone|MQQBrowser|wp7|wp8|UCBrowser7|UCWEB|360\s+Aphone\s+Browser)/i.test(u); if (isPC) { location.href = "http://www.hipermart"; }
如果是pc端的话,那么直接重定向到一个网站
如果是非pc端的话,那么要区分是android还是apple?
2.2 判断是android还是iOS?
因为我们假设iOS的下载必须从苹果的appstore里面下载,那么其下载地址有一定的规律,比如说sourceid等。
可以通过一个正则表达式来确定。
var urls = document.location.search, re2 = new RegExp("(\\\?|&)sourceid=([^&]+)(&|$)", "i"), from = urls.match(re2);
if (from) { sid = from[2]; }
document.location.search
比如一个URL是XXXX?g=1,那么document.location.search的值就是?g=1
2.3 重定向到下载地址
window.onload = function () { //修复图片偶尔不能加载
var salesLocal = localStorage.getItem("SALESOBJ") ? JSON.parse(localStorage.getItem("SALESOBJ")) : null;
var appUrl = salesLocal && salesLocal.data && salesLocal.data.appurl ? salesLocal.data.appurl : "";
if (!isPC && !iswx) {
if(appUrl){
location.href = appUrl;
}else if(sid){
location.href = "/m/" + sid;
版权声明:本文标题:微信里的APK链接接打不开怎么办?微信扫描二维码下载APK的解决方案 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727975351a1140592.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论