短信链接跳转微信小程序(URLSchema等)

    去年就在调研如何从短信链接跳转到微信小程序,搜索了好多,也去官方论坛转了一圈,得到的回复只有一个:不可能!
    今天组内大神在逛帖子的时候告知我们微信官方文档有惊喜,跑去一看,果然很惊喜呀~

实现方案

需下载二维码

  1. 点击短信中链接,打开H5页面
  2. 保存页面中小程序二维码(包含指定页面地址和传参)
  3. 打开微信,扫描二维码进入小程序指定页面

使用URL Schema

参考文档

  1. 点击短信中链接,打开H5页面
  2. 进入页面直接自动触发跳转操作,到小程序指定页面

微信云开发

参考文档

  1. 在云开发中开通静态网站,然后将H5部署(收费)
  2. 使用 cloudbase.sendsms 接口,即可触发下发短信(需要强制使用微信短信平台

实现方案对比

方案优点缺点
需下载二维码实现方案可控,免费体验感极差
使用URL Schema实现方案可控,免费, 体验感可以只能到正式环境中测试
微信云开发依赖云开发,实现简单,体验感极好收费,强制依赖微信短信平台

实践出真知(URLSchema)

获取微信access_token

GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=appSecret

请求参数
返回参数:

{
    "access_token": "access_token",
    "expires_in": 7200
}

获取openlink

被这个请求方式折磨了一通,access_token是放在请求url中,其他参数是放在body中

POST https://api.weixin.qq.com/wxa/generatescheme?access_token=access_token

请求参数
返回参数:

{
    "errcode": 0,
    "errmsg": "ok",
    "openlink": "weixin://dl/business/?t=12345678910"
}

H5页面(模拟短信跳转,验证ok)

短信链接跳转与H5页面跳转类似,此处用H5页面跳转为例

location.href = 'weixin://dl/business/?t=12345678910'

反馈问题

ios和Android 对URLSchema兼容性

感谢Mr_saisai大佬的指正,微信官方文档上有一段关于系统兼容性问题的描述,IOS无需额外添加H5页面进行辅助跳转~

iOS系统支持识别URL Scheme,可在短信等应用场景中直接通过Scheme跳转小程序。
Android系统不支持直接识别URL Scheme,用户无法通过Scheme正常打开小程序,
开发者需要使用H5页面中转,再跳转到Scheme实现打开小程序

开发者工具可直接测试URL Schema

以前需要将未完成的页面发布到正式环境才能进行跳转测试,今天前端大佬悄咪咪告诉我:在微信开发者工具中不用发布页面也能测试啦~~ nice
在这里插入图片描述

URL Schema 官方最新变更20220411

获取 URL Scheme

自 2022 年 4 月 11 日起,URL Scheme有效期最长 30 天,不再支持永久有效的URL Scheme、不再区分短期有效URL Scheme与长期有效URL Scheme。若在微信外打开,用户可以在浏览器页面点击进入小程序。每个独立的URL Scheme被用户访问后,仅此用户可以再次访问并打开对应小程序,其他用户无法再次通过相同URL Scheme打开该小程序。 在本次规则调整生效前已经生成的URL Scheme,如果有效期超过30天或长期会被降级为30天有效,只能被1个用户访问,开始时间从调整日期开始计算。

针对以下两个变更,对原有的URL Schema生成代码无影响(无需变更代码逻辑),只是微信内部会将参数统一处理!

一个urlSchema只能一个用户访问

调用上限及有效期

调用上限
Scheme 将根据是否为到期有效与失效时间参数,分为短期有效Scheme与长期有效Scheme:
单个小程序每日生成 Scheme 上限为50万个(包含短期有效 Scheme 与长期有效 Scheme)
有效时间超过180天的 Scheme 或永久有效的 Scheme 为长期有效Scheme,单个小程序总共可生成长期有效 Scheme 上限为10万个,请谨慎调用
有效时间不超过180天的 Scheme 为短期有效Scheme,单个小程序生成短期有效 Scheme 不设上限



持续更新中。。。

  • 27
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值