微信跳转外部浏览器下载app

需求分析

将打包好的apk/ios文件部署到服务器,把下载页面的URL通过二维码编辑器或根据URL代码生成一个二维码,然后通过二维码进行微信推广已经成为很多用户惯用的方式。但微信会对含apk/ios文件的链接进行了屏蔽,所以导致微信扫码打不开下载链接。理想的状态是安卓自动下载,苹果点击左上角按钮前往Safari下载。那么究竟该如何处理才能达到理想的结果呢?

我们知道 js 可以通过 window.navigator.userAgent 来获取浏览器的相关信息,比如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36,那么我们也可以通过该方法来获取微信内置浏览器的相关信息:Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11d201 MicroMessenger/5.3。根据关键字 MicroMessenger 来判断是否是微信内置的浏览器。从而实现安卓自动下载或跳转到浏览器打开下载链接,苹果会提示点击右上角的按钮前往Safari下载。

代码编程

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%;}

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‘)){//安卓百度手机APP
            echo ‘<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‘)){//安卓百度手机APP
            echo ‘<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--> 

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

原文地址:https://www.cnblogs.com/yhmaq/p/10295824.html

时间: 2024-10-10 01:20:13

微信跳转外部浏览器下载app的相关文章

Mindjump-超赞:在线实现微信跳转外部浏览器下载app

现在微信渠道可以说是拉新最快的渠道,因为微信具备强裂变性.但是目前微信对第三方下载链接的拦截是越来越严格了,那么想要在微信内肆无忌惮地推广链接就需要用到微信跳转浏览器的接口,那如何获取该接口呢? 1. 首先在浏览器打开我们需要用到的微信跳转工具接口:复制分享链接粘贴到工具http://www.mindjump.cn/页面的输入框中,然后点击生成 2. 生成完成后,复制新生成的跳转链接和二维码,微信内打开跳转链接或识别二维码即可自动跳转外部浏览器下载app了.100%可以避免因下载链接被拦截导致用

怎么实现微信跳转外部浏览器直接下载APK(APP)

现在活跃度最高的社交软件是什么?微信!这是毋庸置疑的,因此在微信中推广成了现今最流行.最有价值的营销方式,所有人都在微信中推,那微信会变成什么样的?问题来了,腾讯为了维护微信的生态平衡,为了维护微信自身的利益,从而屏蔽了在微信中直接下载APK(APP)的路径,一般是这样下载的,如图一所示,点击右上角 按钮,再选择手机中的浏览器,最后,根据自己手机系统,选择是安卓还是苹果,这一连串的操作会让体验者感觉特别繁琐,从而失去流量,降低了推广的价值,有的人会问,规则就是这样的,有没有办法解决?很肯定的说,

怎么实现微信跳转外部浏览器直接下载APK

现在活跃度最高的社交软件是什么?微信!这是毋庸置疑的,因此在微信中推广成了现今最流行.最有价值的营销方式,所有人都在微信中推,那微信会变成什么样的?问题来了,腾讯为了维护微信的生态平衡,为了维护微信自身的利益,从而屏蔽了在微信中直接下载APP(APK)的路径,一般是这样下载的,如图一所示,点击右上角 按钮,再选择手机中的浏览器,最后,根据自己手机系统,选择是安卓还是苹果,这一连串的操作会让体验者感觉特别繁琐,从而失去流量,降低了推广的价值,有的人会问,规则就是这样的,有没有办法解决?很肯定的说,

微信内嵌浏览器如何直接打开外部浏览器下载APP(APK)

想必大家会经常碰到网页链接在微信内无法打开和微信内无法打开app下载页的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要有以下四点 1.网页链接被举报次数过多.2.网页含违规内容,含敏感词.3.被腾讯检测系统判断为诱导分享内容.4.转发分享次数达上限 那么上述问题怎么办呢?只要我们实现微信跳转浏览器的功能即可. 功能目的 生成微信跳转链接,实现微信内置浏览器跳转外部浏览器打开网页. 功能效果 对网页所属的PHP代码进行相关处理,加入跳转接口即可实现.

微信扫一扫二维码直接打开外部浏览器下载app怎么解决

本文章向大家介绍微信自动跳转浏览器打开APP(APK)下载链接,主要包括微信自动跳转浏览器打开APP(APK)下载链接使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下. 现在微信分享的功能很多,从分享的链接下载apk安卓包是很正常的,但是微信不让下载apk包,只能通过浏览器来下载,但是这要给用户一个提示吧,不然用户不知道 下面我们来实现,用户通过微信点击跳转浏览器来下载apk包操作步骤 桔子跳转是一款基于微信后端开发了一款微信营销下载推广助手,使用了本

Mindjump-超棒!在线实现微信扫描二维码自动打开外部浏览器下载app的功能

Mindjump是一款稳定的在线生成微信跳转链接的管理平台,基于微信scheme接口来实现微信内打开文件下载链接直接跳转手机外部浏览器下载的功能. 适用场景: 1.含下载文件的链接在微信内被拦截,无法下载文件 2.网页广告url无法正常在微信内打开的情况 3.BC,彩票类注册页面无法在微信内打开 使用方法: 1.用浏览器打开 Mindjump平台地址:http://www.mindjump.cn/,复制链接粘贴到工具框中,点击生成. 2.复制新生成的跳转链接和二维码,微信内打开跳转链接或识别二维

微信h5页面中跳转外部浏览器下载APK的办法

需求:在微信h5页面中下载第三方app -- 安卓, 直接下载apk文件包:iphone,跳转AppStore 分析:微信不支持,在微信中屏蔽了apk文件的下载以及AppStore的跳转(且除非和TX有合作的应用,否则也不支持通过scheme跳转第三方app) 变通方法: 一.借助TX的应用市场 --'应用宝':将app上架应用宝,在微信中点击下载按钮(app的应用宝微下载地址),安卓则可跳转应用直接进行下载,iphone则会自动跳转Appstore(需在TX开发平台进行配置) 总结:虽然这种方

大象跳转提供:微信内置浏览器下载APP(APK)软件的方案

最近在很多论坛和博客上都能看到有朋友咨询微信跳转手机默认浏览器下载app要怎么实现,其实只要用api接口对链接进行相关的处理即可实现这个功能了.为了解答大家的疑惑,特写这篇文章分享一个我们团队之前用的很稳定很便捷的微信跳转平台,下面是具体的操作步骤. 大象跳转使用说明: 用浏览器打开我们需要用到的微信跳转平台大象跳转网页:http://www.go51w.cn/ 复制你的推广链接粘贴输入进工具框,点击开始生成 复制新生成的跳转链接和二维码 微信内打开跳转链接或扫码识别二维码 这个平台最大的亮点就

安卓手机微信不能打开App下载地址的问题 微信跳转打开外部浏览器下载

在微信中,打开app下载链接,或者使用微信扫一扫app下载二维码,都是无法下载app的. 因为腾讯为了自身利益,屏蔽了其他app直接在微信中下载.下面给分享下,找到的2种有效的解决方案. 方案:点击链接,自动打开外部浏览器下载APP 微信中点击或打开链接,自动打开外部浏览器下载app.全程完全自动化,无需用户任何手工操作. 这种方案可以说是完美解决微信中下载app的问题.效果如下面这样子: 这个样子,用户点击下载按钮后,全过程自动化下载,用户操作非常简单,可以大大提升用户下载app转化率. 备用