当前位置: 首页 > news >正文

短信链接跳转微信小程序

短信链接跳转微信小程序

  • 1 实现方案
    • 1.1 通过URL Scheme实现
    • 1.2 通过URL Link实现
    • 1.3 通过云开发静态网站实现
  • 2 实现方案对比
  • 3 实践 URL Schema 方案
    • 3.1 获取微信access_token
    • 3.2 获取openlink
    • 3.3 H5页面(模拟短信跳转,验证ok)
  • 4 问题小节
    • 4.1 ios和Android 对URLSchema兼容性
    • 4.2 URL Schema官方变更2022年4月11日
      • 4.2.1 调用上限及有效期
      • 4.2.2 一个urlSchema只能一个用户访问

1 实现方案

微信官方文档

1.1 通过URL Scheme实现

通过服务端接口或在小程序管理后台生成 URL Scheme 后,自行开发中转H5页面。

将带有中转H5链接的短信内容通过开发者自有的短信发送能力或服务商的短信服务进行投放,实现短信打开小程序。

1.2 通过URL Link实现

通过服务端接口生成 URL Link 。
直接将带有URL Link的短信内容通过开发者自有的短信发送能力或服务商的短信服务进行投放,实现短信打开小程序。

1.3 通过云开发静态网站实现

在云开发中开通静态网站,然后将H5部署(收费)
使用 cloudbase.sendsms 接口,即可触发下发短信(需要强制使用微信短信平台)
可以参考「云开发」-「静态网站」-「短信跳小程序」。

2 实现方案对比

方案优点缺点
使用URL Schema实现方案可控,免费, 体验感可以只能到正式环境中测试
使用URL Link
云开发静态网站依赖云开发,实现简单,体验感极好收费,强制依赖微信短信平台

3 实践 URL Schema 方案

3.1 获取微信access_token

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

在这里插入图片描述

3.2 获取openlink

POST 
https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN 
{"jump_wxa":{"path": "/pages/publishHomework/publishHomework","query": ""},"is_expire":true,"expire_type":1,"expire_interval":1,"env_version": "release"
} 

在这里插入图片描述

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

短信链接跳转H5页面,然后跳转微信URLSchema

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><script>location.href = "weixin://dl/business/?t=xxxxxxxx"</script></body>
</html>

4 问题小节

4.1 ios和Android 对URLSchema兼容性

  • iOS系统支持识别 URL Scheme,可在短信等应用场景中直接通过 Scheme 跳转小程序。
  • Android系统不支持直接识别 URL Scheme,用户无法通过 Scheme 正常打开小程序,开发者需要使用 H5 页面中转,再跳转到 Scheme 实现打开小程序,跳转代码示例如下:
location.href = 'weixin://dl/business/?t= *TICKET*'

4.2 URL Schema官方变更2022年4月11日

4.2.1 调用上限及有效期

自 2022 年 4 月 11 日起,URL Scheme有效期最长 30 天,不再支持永久有效的URL Scheme、不再区分短期有效URL Scheme与长期有效URL Scheme。
每天生成 URL Scheme 和 URL Link 总数量上限为50万。

4.2.2 一个urlSchema只能一个用户访问

若在微信外打开,用户可以在浏览器页面点击进入小程序。每个独立的URL Scheme被用户访问后,仅此用户可以再次访问并打开对应小程序,其他用户无法再次通过相同URL Scheme打开该小程序。

相关文章:

短信链接跳转微信小程序

短信链接跳转微信小程序1 实现方案1.1 通过URL Scheme实现1.2 通过URL Link实现1.3 通过云开发静态网站实现2 实现方案对比3 实践 URL Schema 方案3.1 获取微信access_token3.2 获取openlink3.3 H5页面&#xff08;模拟短信跳转&#xff0c;验证ok&#xff09;4 问题小节4.1 io…...

吉林电视台启用乾元通多卡聚合系统广电视频传输解决方案

随着广播电视数字化、IP化、智能化的逐步深入&#xff0c;吉林电视台对技术改造、数字设备升级提出了更高要求&#xff0c;通过对系统性能、设计理念的综合评估&#xff0c;正式启用乾元通多卡聚合系统广电视频传输解决方案&#xff0c;将用于大型集会、大型演出、基层直播活动…...

Linux常用命令1

目录1、远程登陆服务器2、文件相关&#xff08;1&#xff09;文件和目录属性&#xff08;2&#xff09;创建目录mkdir&#xff08;3&#xff09;删除目录rmdir&#xff08;4&#xff09;创建文件touch&#xff08;5&#xff09;删除文件或目录rm&#xff08;6&#xff09;ls命令…...

【C++进阶】一、继承(总)

目录 一、继承的概念及定义 1.1 继承概念 1.2 继承定义 1.3 继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、菱形继承及菱形虚拟继承 7.1 继承的分类 7.2 菱形虚拟…...

AttributeError: module ‘lib‘ has no attribute ‘OpenSSL_add_all_algorithms

pip安装crackmapexec后,运行crackmapexec 遇到报错 AttributeError: module lib has no attribute OpenSSL_add_all_algorithms 直接安装 pip3 install crackmapexec 解决 通过 python3 -m pip install --upgrade openssl 或者 python3 -m pip install openssl>22.1.…...

Python实现视频自动打码功能,避免看到羞羞的画面

前言 嗨呀嗨呀&#xff0c;最近重温了一档综艺节目 至于叫什么 这里就不细说了 老是看着看着就会看到一堆马赛克&#xff0c;由于太好奇了就找了一下原因&#xff0c;结果是因为某艺人塌房了…虽然但是 看综艺的时候满影响美观的 咳咳&#xff0c;这里我可不是来教你们如何解…...

说说Knife4j

Knife4j是一款基于Swagger2的在线API文档框架使用Knife4j, 需要 添加Knife4j的依赖当前建议使用的Knife4j版本, 只适用于Spring Boot2.6以下版本, 不含Spring Boot2.6 在主配置文件(application.yml)中开启Knife4j的增强模式必须在主配置文件中进行配置, 不要配置在个性化配置文…...

Java学习笔记-03(API阶段-2)集合

集合 我们接下来要学习的内容是Java基础中一个很重要的部分&#xff1a;集合 1. Collection接口 1.1 前言 Java语言的java.util包中提供了一些集合类,这些集合类又称之为容器 提到容器不难想到数组,集合类与数组最主要的不同之处是,数组的长度是固定的,集合的长度是可变的&a…...

「3」线性代数(期末复习)

&#x1f680;&#x1f680;&#x1f680;大家觉不错的话&#xff0c;就恳求大家点点关注&#xff0c;点点小爱心&#xff0c;指点指点&#x1f680;&#x1f680;&#x1f680; 矩阵的秩 定义4:在mxn矩阵A中&#xff0c;任取k行与k列&#xff08;k<m,k<n&#xff09;,位…...

【CSDN竞赛】27期题解(Javascript)

前言 本来排名是20的&#xff0c;不过第一题有点输出bug&#xff0c;最后实际测出来又重新排名&#xff0c;刚好卡在第10。但是考试报告好像过了12小时就下载不到了&#xff0c;所以就只写题目求解的JS函数吧。 1. 幸运数字 小艺定义一个幸运数字的标准包含3条: 仅包含4或7幸…...

高压放大器在骨的逆力电研究中的应用

实验名称&#xff1a;高压放大器在骨的逆力电研究中的应用研究方向&#xff1a;生物医学测试目的&#xff1a;骨中的胶原和羟基磷灰石沿厚度分布不均匀&#xff0c;骨试样在直流电压作用下&#xff0c;内部出现传导电流引起试样内部温度升高&#xff0c;不同组分热变形不一致&a…...

思科网络部署,(0基础)入门实验,超详细

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…...

private static final Long serialVersionUID= 1L详解

我们知道在对数据进行传输时&#xff0c;需要将其进行序列化&#xff0c;在Java中实现序列化的方式也很简单&#xff0c;可以直接通过实现Serializable接口。但是我们经常也会看到下面接这一行代码&#xff0c;private static final Long serialVersionUID 1L&#xff1b;这段代…...

若依前后端分离版集成nacos

根据公司要求&#xff0c;需要将项目集成到nacos中&#xff0c;当前项目是基于若依前后端分离版开发的&#xff0c;若依的版本为3.8.3&#xff0c;若依框架中整合的springBoot版本为2.5.14。Nacos核心提供两个功能&#xff1a;服务注册与发现&#xff0c;动态配置管理。 一、服…...

JAVA面试八股文一(mysql)

B-Tree和BTree区别共同点&#xff1b;一个节点可以有多个元素&#xff0c; 排好序的不同点&#xff1a;BTree叶子节点之间有指针&#xff0c;非叶子节点之间的数据都冗余了一份在叶子节点BTree是B-Tree 的升级mysql什么情况设置了索引&#xff0c;但无法使用a.没符合最左原则b.…...

动静态库概念及创建

注意在库中不能写main()函数。 复习gcc指令 预处理-E-> xx.i 编译 -S-> xx.s 汇编 -c-> xx.o 汇编得到的 xx.o称为目标可重定向二进制文件&#xff0c;此时的文件需要把第三方库链接进来才变成可执行程序。 gcc -o mymath main.c myadd.c mysub.c得到的mymath可以执…...

【H.264】码流解析 annexb vs avcc

H264码流解析及NALUAVCC和ANNEXB 前者是FLV容器、mp4 常用的。后者 是实时传输使用,所以是TS 一类的标准。VLC显示AVC1就是AVCC AVCC格式 也叫AVC1格式,MPEG-4格式,字节对齐,因此也叫Byte-Stream Format。用于mp4/flv/mkv, VideoToolbox。 – Annex-B格式 也叫MPEG-2 trans…...

【最优化方法】1-最优化方法介绍

文章目录1 最优化起源2 最优化发展3 运筹学在国外4 运筹学在国内5 什么是最优化&#xff1f;6 为什么要研究最优化问题&#xff1f;7 最优化问题8 最优化问题分类9 最优化研究内容理论算法应用1 最优化起源 中国古代优化思想–田忌赛马(公元前340年) 18世纪L.Euler&#xff0…...

数据结构 | 树 | 二叉树

&#x1f525;Go for it!&#x1f525; &#x1f4dd;个人主页&#xff1a;按键难防 &#x1f4eb; 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一起进步&#x1f440; &#x1f4d6;系列专栏&#xff1a;数据结构与算法 &#x1f52…...

笔记:使用 unbuild 搭建 JavaScript 构建系统笔记

使用 unbuild 搭建 JavaScript 构建系统jcLee95&#xff1a;https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 &#xff1a;291148484163.com 简介&#xff1a; 本文是笔者阅读分析 elementPlus 项目时记录的。该项目用到了一个完全没有文档和资料的工具 unbu…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...