微信回流-开放标签(wx-open-launch-app)

简介: 移动互联网时代,“用户增长”成为每个公司关注的重点话题。促活拉新是大多数公司的核心,为了将更多用户引导到客户端内,那么主要的渠道有哪些?又是通过什么样的方式回流到客户端内呢?

从系统来区分:Android、iOS。


从方式来区分:网页(拼多多、思否、掘金、知乎 大多数公司都是这种方式)、口令(支付宝、淘宝、拼多多 主要网页被封了)、图片&视频(抖音 过年的时候发现的,把图片保存本地就可以回流)


从环境、渠道来区分:微信内(重要渠道)、QQ内、各厂商的浏览器内(短信方式。vivo、oppo、qq浏览器、华为、小米)


环境复杂多变,简单说一下我司之前的逻辑:


  • Android 安卓
  • 微信内
  • 方案一:应用宝,变相给应用宝拉新。
  • 方案二:右上角浏览器打开,然后使用 scheme 。
  • 方案三:下载头,目前被微信拦截了,成了变相给 QQ 浏览器拉新了
  • 方案四:公网代理到本机。需要设置一堆的权限才可以使用


  • QQ 内
  • 其他环境
  • URL Scheme, 一般都是 iframe 去触发。
  • Intent 跳手机自带的应用市场


  • iOS
  • 微信内
  • Universal Links 通用链接,iOS 9+ 系统
  • 右上角浏览器打开
  • 系统拦截 param 回流
  • safari 中使用 scheme


  • QQ 内
  • 其他环境


这逻辑我要吐了,问题是时不时的还要改动一下。安稳不了多久就不行了。

突然五一前的一天,微信开放平台多出了一个功能 微信内网页跳转APP功能,然后我们就接入了一下。


开放标签


微信版本要求为:7.0.12及以上。 系统版本要求为:iOS 10.3(感觉 13 以下体验好差,我们人为处理了一下)及以上、Android 5.0及以上。

开放标签说明文档


接入开放标签


  1. 与微信JS-SDK类似,也需要绑定安全域名(登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。)、引入JS文件(https://res.wx.qq.com/open/js...)等步骤。


  1. 注入配置信息,通过 openTagList 字段申请所需要的开放标签。


wx.config({
   debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
   appId: '', // 必填,公众号的唯一标识
   timestamp: , // 必填,生成签名的时间戳
   nonceStr: '', // 必填,生成签名的随机串
   signature: '',// 必填,签名
   jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'], // 必填,需要使用的JS接口列表
   openTagList: ['wx-open-launch-app'] // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
 });


3.加入DOM


<wx-open-launch-app
   id="launch-btn"
   appid="your-appid"
   extinfo="your-extinfo"
 >
   <template>
     <style>.btn { padding: 12px }</style>
     <button class="btn">App内查看<button>
   </template>
</wx-open-launch-app>
<script>
   var btn = document.getElementById('launch-btn');
   btn.addEventListener('launch', function (e) {
     console.log('success');
   });
   btn.addEventListener('error', function (e) {
   // "launch:fail" 调用失败,或安卓上该应用未安装,或iOS上用户在弹窗上点击确认但该应用未安装
   // "launch:fail\_check fail" 校验App跳转权限失败,请确认是否正确绑定AppID
     console.log('fail', e.detail);
   });
</script>


vue 中使用。template 冲突


使用 <script type="text/wxtag-template"><script> 进行代替


打开客户端指定页面


  1. 剪贴板,因为剪贴板是旧有的逻辑,所以我们希望第一版可以尽快的使用起来(结果 openSDK 在接入小程序的时候已经做了,可惜了我的辛苦)。这里我用击穿来实现的。


  1. 击穿实现 https://www.lilnong.top/static/html/touchstart-click.html
  2. 因为渲染慢非同步,所以我在真实使用的时候换了另一种方案实现的,拼外渲染,然后绝对定位。
  3. 然后就是剪贴板复制的问题。需要在 touchend 的时候处理 https://www.lilnong.top/static/html/copy-execCommand.html


2.使用 DOM 上的 extinfo 属性来实现。格式自定义,由跳转的 App 解析处理。对应iOS微信 openSDK 中的 messageExt 字段(LaunchFromWXReq.message.messageExt),或对应 Android 微信openSDK中的 messageExt 字段


(ShowMessageFromWX.Req.message.messageExt),详细参见文档《App获取开放标签<wx-open-launch-app>中的extinfo数据》


其他方式详解


URL Scheme


var _iframe = document.createElement('iframe');
_iframe.src = scheme;
_iframe.style.display = 'none';
document.body.appendChild(_iframe);
window.setTimeout(function(){
    document.body.removeChild(_iframe);
    if((+new Date()) - openTime > 2500) {
        window.location.href = url;
   }
}, 2000);


但是存在用户没有安装 App 的情况,所以使用 iframe 比较常见。

当用户没有安装时,通过 setTimeout 跳转到 下载页。


开放标签特征


  1. 无法接收事件冒泡、事件捕获。


  1. 异步渲染


  1. 本质上可以理解为 webComponent。 template 理解为插槽,想要获取可以通过 content。控制台开启 Shadow DOM 也可以看到
相关文章
|
4月前
|
缓存 小程序 开发工具
最新原创uniapp+vue3仿微信界面聊天app系统
最新原创研发uniapp+vue3实战跨端仿微信App界面聊天程序。支持运行到H5+小程序+APP端。
245 6
最新原创uniapp+vue3仿微信界面聊天app系统
|
3月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
5月前
|
存储 人工智能 Android开发
为什么微信发送的APP安装不了,.apk转化为.apk.1
微信发送的APP文件常被改为.apk.1格式导致无法安装,推荐使用夸克或QQ浏览器解决。
378 14
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
3052 7
|
6月前
|
监控 数据可视化 BI
微信计数器统计工具,QQ统计器手机APP,通过autojs实现后台
这是一款基于AutoJS的微信/QQ新增好友监控脚本,具备后台运行、自动统计每日新增好友数量、生成简单报表及定时提醒功能。
|
9月前
|
安全 算法 小程序
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
574 28
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
2693 1
|
9月前
|
小程序
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
607 1
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
|
10月前
|
小程序 数据安全/隐私保护 开发者
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
655 3
|
11月前
|
JSON 小程序 UED
微信小程序 app.json 配置文件解析与应用
本文介绍了微信小程序中 `app.json` 配置文件的详细
1617 12

热门文章

最新文章