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

系统来区分: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…)等步骤。
  2. 注入配置信息,通过 openTagList 字段申请所需要的开放标签
     wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
    appId: '', // 必填,公众号的唯一标识
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名
    jsApiList: [], // 必填,需要使用的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. 无法接收事件冒泡、事件捕获。
  2. 异步渲染
  3. 本质上可以理解为 webComponent。 template 理解为插槽,想要获取可以通过 content。控制台开启 Shadow DOM 也可以看到

微信开放标签wx-open-launch-app相关推荐

  1. 微信开放标签--H5唤醒手机app/跳转微信小程序

    木剑 前提 代码 注意 前提 微信版本要求为:7.0.12及以上 系统版本要求为:iOS 10.3及以上.Android 5.0及以上 与微信小程序绑定的微信公众号必须为已认证的服务号 让专门管理微信 ...

  2. vue与微信开放标签,调起app

    使用微信开放标签 <wx-open-launch-app></wx-open-launch-app>调起分享到微信网页中的app 此开放标签只能在线上显示,本地与测试环境均不显 ...

  3. 微信开放标签wx-open-launch-app唤醒app踩坑记录,launch:fail问题解决

    微信开放标签调试了一天,各方面都正常,但是一直报错launch:fail,百思不得其解,早网上搜答案,辛得指点,原来问题如下 如果要唤醒app,必须使用sdk生成的卡片,或者使用微信开发者工具的浏览功 ...

  4. 微信开放标签<wx-open-launch-app>之Vue项目H5唤醒APP

    微信开放标签<wx-open-launch-app>之Vue项目H5唤醒APP 在微信开放标签出来之前,大多数人都是采用 URI Scheme 以及 ios 的universal Link ...

  5. 微信开放标签使用注意说明

    先放上微信开放标签开发文档链接 目录 | 微信开放文档 开放对象 已认证的服务号,服务号绑定"JS接口安全域名"下的网页可使用此标签跳转任意合法合规的小程序. 已认证的非个人主体的 ...

  6. 微信开放标签wx-open-launch-weapp实现点击跳转到微信小程序

    一.微信开放标签使用步骤与微信JS-SDK类似,也需要引入JS文件等步骤.如果是公众号身份的网页,需要绑定安全域名.具体参见微信开放文档 二.vue.config.js配置因为 在vue项目中,直接使 ...

  7. 微信开放标签踩坑记录

    先上微信官方文档 微信文档 以下要注意的点: 微信版本要求为:7.0.12及以上. 系统版本要求为:iOS 10.3及以上.Android 5.0及以上. 微信sdk版本需要在1.6.0以上,版本过低 ...

  8. 微信H5页面跳转小程序 - Vue中使用微信开放标签<wx-open-launch-weapp>

    微信开放标签说明文档 使用微信开放标签前置条件 1.绑定域名 登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名" 2 ...

  9. 使用微信开放标签<wx-open-launch-weapp>的踩坑日记

    最近在完成H5跳转小程序需求时,使用到了微信官方退出的开放标签<wx-open-launch-weapp>,来谈一谈使用的心得和不足. 1.适用环境 微信版本要求为:7.0.12及以上. ...

  10. vue3项目中使用微信开放标签wx-open-launch-weapp实现点击跳转到微信小程序

    一.使用前置条件 微信开放标签使用步骤与微信JS-SDK类似,也需要引入JS文件等步骤.如果是公众号身份的网页,需要绑定安全域名.具体参见官方文档. 二.vue.config.js配置 在vue项目中 ...

最新文章

  1. 在Rust代码中编写Python是种怎样的体验?
  2. 华为提出十大数学挑战!解出一个就是年薪百万!
  3. 【PC工具】U盘SD卡测试工具,速度测试,坏块测试查找
  4. 三十二、电子商务服务推荐模型构建
  5. ip地址个数的计算,二进制与 8 比特
  6. (转载)HTTP与RPC的区别
  7. unity3d Json解析工具类
  8. 使用gp部署bginfo在客户端显示信息
  9. python列表(list)和元组(tuple)之间的转换
  10. 《流畅的Python第二版》读书笔记——序列数组
  11. Mantis1.2.19 在Windows 平台上的安装配置详解
  12. 冰点还原精灵如何破载?
  13. SpringMv的IOC控制反转以及DI依赖注入(SpringMvc⑨)
  14. 常见图片分类及适用场景
  15. java gui 记_java GUI简单记事本
  16. Web渗透(九)LDAP注入
  17. 挖掘:如何用迅雷下载4399小游戏站内的所有游戏
  18. 计算机历史ppt 英文儿童,第一课-计算机发展历史ppt
  19. 804. 唯一摩尔斯密码词
  20. 开始学习SHAREPOINT 2003。

热门文章

  1. 用MATLAB做SVM预测值一直变,Matlab的SVM预测结果很低,帮我看看原因吧? 数据代码都有。...
  2. virtualbox启动时报错 虚拟电脑控制台错误
  3. oracle提取违反,ORA-01002: 提取违反顺序的问题分析
  4. 【小萝莉说Crash】第一期:Unrecognized selector sent to instance xxxx
  5. Python3+scrapy 爬取喜马拉雅音乐 音乐和歌名 最简单的爬虫
  6. 《东周列国志》第三十九回 柳下惠授词却敌 晋文公伐卫破曹
  7. Odoo----异常、错误、警告、提示、确认信息显示
  8. 专用集成电路 -- 反相器
  9. python计算器程序_python练习 计算器模拟程序
  10. C++班车管理系统课程设计