需求分析

现在微信分享二维码进行推广的方式已经成为大家常用且便捷的方法了。但是经常会有分享出去的链接或二维码都无法正常打开指定页面,提示“已停止访问网页”,故导致无法下载app。

这其实是微信内置浏览器自动屏蔽了含apk或ios文件下载的链接,不允许直接通过微信下载安装文件。如果域名访问次数过多还有可能被封主域名,主域名一旦被封,所有的子域名就全军覆没了。

很多人不知道碰到上述问题到底要怎么办?其实很简单,只要对app的php代码进行相关的处理就可以了,实现微信内直接下载app的功能。下面就为大家讲解一下如何实现此功能。

功能实现后ios系统可在微信内直接下载app,安卓系统自动跳转浏览器下载app。下面是功能实现后的效果:

1. App Store应用实现效果

2. 企业版app实现效果

3. 安卓用户则自动打开手机浏览器下载app。

代码编程

JS封装代码

<?php
function get_ticket($code){//初始化$ch = curl_init();curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts$headers = array();$headers[] = 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/15B202 UCBrowser/11.7.7.1031 Mobile  AliApp(TUnionSDK/0.1.20)';$headers[] = 'Referer: https://m.mall.qq.com/release/?busid=mxd2&ADTAG=jcp.h5.index.dis';$headers[] = 'Content-Type:application/x-www-form-urlencoded; charset=UTF-8';curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);$content = curl_exec($ch);curl_close($ch);//$arr = json_decode($content,1);//if($arr['success'] == '1'){//    $shotCode = $arr['shotCode'];//}else{//    $shotCode = '';//}//preg_match('/openlink\":\"(.*?)\"}/',$content,$result);//$url = $result[1];preg_match('/href=\"(.*?)#wechat/',$content,$result);$url = $result[1];return $url;
}$time = time()-$info['ticket_time'];$minute=floor($time/60);query_update ( "jump_logs", "count=count+1". " where code='" . $code . "'" );if($minute >= 59){//如果超过1小时,更新ticket$url = get_ticket($w_url_code);if($url){query_update ( "jump_logs", "ticket_time='".time()."', ticket='" . $url . "' where code='" . $code . "'" );$ticket_url = $url.'#';if(strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')||strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')){//安卓百度手机APPecho '<script>window.location.href = "bdbox://utils?action=sendIntent&minver=7.4&params=%7b%22intent%22%3a%22'.$url.'%23wechat_redirect%23wechat_redirect%23Intent%3bend%22%7d";</script>';}else{echo '<script>window.location.href = "'.$ticket_url.'";</script>';}}}else{$ticket_url = $info['ticket'].'#';if(strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')||strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')){//安卓百度手机APPecho '<script>window.location.href = "bdbox://utils?action=sendIntent&minver=7.4&params=%7b%22intent%22%3a%22'.$info['ticket'].'%23wechat_redirect%23wechat_redirect%23Intent%3bend%22%7d";</script>';}else{echo '<script>window.location.href = "'.$ticket_url.'";</script>';}}
}
?>
<!--有不懂的地方联系我的Q:3358246772--> 

HTML代码

<?php
// 统一调用微信白名单接口:https://wq.jd.com/mjgj/link/GetOpenLink?callback=getOpenLink&rurl=https://dc2.jd.com/auto.php?service=transfer&type=pms&to=(这里是拼接自己的内容地址比如http://mjbbs.jd.com/data/attachment/forum/201806/08/173526pb2zpjzzooo2ofze.jpg)
if($_GET['t']){
// include("admin/config.php");
// include("admin/function.php");
$code = $_GET['t'];
$info = query ( "jump_logs", "where code='" . $code . "'" );
if($info['code'] == ''){echo '跳转失败';exit(0);
}
if($info['state'] == '1'){
if($info['count'] >= $info['num']){echo '跳转失败';exit(0);
}
$time = strtotime($info['time']);if(time() > $time){echo '跳转失败';exit;}
}else{echo '跳转失败';exit;
}
if($info['www_url'] == ''){echo '请先配置落地页';exit;
}else{$w_url_code = $info['rl'];
}
?>

CSS代码

1 #weixin-tip{display:none;position:fixed;left:0;top:0;background:rgba(0,0,0,0.8);filter:alpha(opacity=80);width:100%;height:100%;z-index:100;}
2 #weixin-tip p{text-align:center;margin-top:10%;padding:0 5%;position:relative;}
3 #weixin-tip .close{color:#fff;padding:5px;font:bold 20px/24px simsun;text-shadow:0 1px 0 #ddd;position:absolute;top:0;left:5%;}

至此,我们就可以直接用微信扫描二维码在微信中分享和宣传引流了。这样我们能够极大的提高自己的APP在微信中的推广转化率。解决掉了微信中下载链接被屏蔽等问题。充分利用微信的用户群体来宣传引流。

微信扫二维码调用外部浏览器页面相关推荐

  1. 分享!如何分分钟实现微信扫二维码调用外部浏览器打开指定页面的功能

    需求分析 现在微信分享二维码进行推广的方式已经成为大家常用且便捷的方法了.但是经常会有分享出去的链接或二维码都无法正常打开指定页面,提示"已停止访问网页",故导致无法下载app. ...

  2. 分享!如何实现微信扫二维码调用外部浏览器打开指定页面的功能

    需求概述 分享链接已经成为手机应用一个非常重要的推广传播形式.为了提高转化率,就需要让用户不管是在微信中直接打开链接还是扫描二维码都能直接下载app. 由于微信对第三方应用管的非常严格,故目前的大环境 ...

  3. 如何实现微信扫二维码调用外部浏览器打开指定页面的功能

    ​需求分析 目前的APP基本都支持二维码扫描下载.由于微信现在是主流的聊天软件,90%的用户都是通过微信分享APP的,再从分享的链接下载apk/ios包. 但是微信会自动屏蔽含安装包文件下载的链接,导 ...

  4. 微信扫二维码调用外部浏览器打开指定页面

    场景分析 很多朋友都已经习惯在微信内分享网页链接和二维码了,通过扫描二维码下载APP或打开网页也成为大家惯用且非常方便的方式了.如此微信就成为了扫描二维码重要的工具,说到二维码大家第一反应就是打开微信 ...

  5. 微信扫一扫功能扫描二维码调用外部浏览器打开指定页面实现微信中下载APP的功能

    需求分析 分享链接已经成为手机应用一个非常重要的推广传播形式.为了提高转化率,就需要用户不管是在微信内直接打开链接还是扫描二维码都能直接打下载app. 但由于微信对第三方应用管的非常严格,故目前的大环 ...

  6. 微信扫描二维码在内置浏览器打不开文件的下载链接怎么办?哪些api接口可以解决...

    有哪些api接口可以实现微信扫描二维码在内置浏览器打开文件的下载链接? 经常看到贴吧上有人吐槽微信的检测系统太严格了,动不动就拦截第三方链接.怎么才能解决,怎么才能避免等等一系列的问题.因为平时我也会 ...

  7. 怎么把视频生成二维码?微信扫二维码就可以观看?不要广告的

    发布时间:2019-7-30 原创内容:阿酷 怎么把视频生成二维码?微信扫二维码就可以观看?不要广告的 如今,二维码的应用越来越广了,也非常方便,那么如何把视频转换生成二维码呢?网页地址转换二维码的工 ...

  8. ios app 解决微信扫二维码不能跳转问题

    ios app 解决微信扫二维码不能跳转问题 参考文章: (1)ios app 解决微信扫二维码不能跳转问题 (2)https://www.cnblogs.com/wuxian/p/4618374.h ...

  9. uniapp实现微信扫二维码进行核销

    效果图: 1.生成二维码 我这里用的是uniapp插件市场里的qrcode插件 先引入插件: import UQRCode from '../../uni_modules/Sansnn-uQRCode ...

最新文章

  1. 【 Verilog HDL 】寄存器数据类型(reg)与线网数据类型(wire,tri)
  2. ibm服务器imm管理方式简介
  3. python pip install virtualenv时注意事项:需使用root权限 否则报virtualenv命令找不到
  4. C++确定对象被使用前已先被初始化
  5. cookie session token区别_彻底理解cookie,session,token
  6. 分割数组的最大值—leetcode410
  7. @你最强资源包来了 MobTech 联合 LiveVideoStack 发起劳动光荣榜
  8. 搭建spring boot环境并测试一个controller
  9. 具体解释Android中AsyncTask的使用
  10. 华为p50 pro 鸿蒙,华为P50Pro确认!1英寸大底相机+首发鸿蒙:这才是华为最强实力...
  11. php 数据类型 map,ResultMap和ResultType的区别
  12. sql server哪个版本比较好用_给视频加音乐的软件哪个比较好用?
  13. Javascript实现图片幻灯片
  14. 中文大写日期转换函数
  15. Linux I2C设备regmap机制简析
  16. windows程序和控制台程序
  17. java 压缩图片至指定大小
  18. rec删除xposed_刷机,twrp,安装xposed
  19. Cesium加载大数据量地下管线
  20. SpringCloud的五大神兽的详细配置

热门文章

  1. ubuntu 22.04版本安装
  2. IL2CPP does not support marshaling delegates that point to instance methods to native code
  3. 吐血整理:42个人工智能机器学习数据集推荐
  4. 200万年薪,西交大2位计算机博士入选华为天才少年
  5. webrtc代码走读:发送端NACK和FEC的packet压到队列走读
  6. 浙江台州3名乡村教师谈育人:教育源于爱
  7. SAP abap alv报表实例
  8. grpc-gateway搭建
  9. 【HTML期末作业】大学生抗疫感动专题网页设计作业 抗疫最美逆行者网页 致敬疫情感动人物网页设计制作
  10. 每天都在用WiFi,WiFi和无线网络什么关系?了解此篇足矣