微信跳转ticket生成规则,从浏览器跳转到微信

2018-08-07  本文已影响3087人  咻咻ing

公司有个需求,希望能从浏览器或者APP跳转到微信内部,来推广公司内容。

在网上也看到很多网站声称可以提供跳转到微信的功能,一般是付费买他们的链接,他们可以帮忙制作跳转链接,结果我们找了一个网站,付完钱发现提供的链接不能满足需求,人也找不到了,真是日了够了,无奈钱也被骗了,只能自己团队来调研,不过我们花了很多时间的调研,终于有了突破,找到了生成微信跳转的方式。

跳转原理分析:

从手机浏览器等非微信环境,跳转到微信,都是利用
weixin://dl/business/?ticket=t852de9efd9b540df8b355699d4f2ed63
这种形式的微信 scheme,来完成启动并跳转到微信的。 微信内部会对Scheme的信息进行解密,解密出ticket中包含的URL来加载。

Android 启动微信测试代码:

Uri uri = Uri.parse("weixin://dl/business/?ticket=t852de9efd9b540df8b355699d4f2ed63");
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(uri);
mContext.startActivity(intent);

Web 启动微信测试代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>跳转中</title>
</head>
<body>
<div class="page__hd" align="center">
    <h3 align="center" style="padding:30px;">正在打开微信请稍等...</h3>
    <a href="javascript:;" class="weui-btn weui-btn_primary weui-btn_loading" onClick="toweixin();" style="width: 60%">重新打开微信</a><br>
</div>

<script>
    
    setTimeout(toweixin());

    function toweixin() {
        window.location.replace('weixin://dl/business/?ticket=t852de9efd9b540df8b355699d4f2ed63');
    }

    toweixin();

</script>

</body>
</html>

所以通过这种方式,就可以完成微信跳转并加载我们想要的网页了。

有什么问题欢迎加入知识星球一起交流


知识星球.png
上一篇下一篇

猜你喜欢

热点阅读