从短信、邮件、微信外网页等场景打开微信小程序
weixin://dl/business/?t= *TICKET*
通过服务端接口或在小程序管理后台生成URL Scheme后,自行开发中转H5页面。
将带有中转H5链接的短信内容通过开发者自有的短信发送能力或服务商的短信服务进行投放,实现短信打开小程序。
生成的 URL Scheme 如下所示:
weixin://dl/business/?t= *TICKET*
iOS系统支持识别 URL Scheme,可在短信等应用场景中直接通过Scheme跳转小程序。
Android系统不支持直接识别 URL Scheme,用户无法通过 Scheme 正常打开小程序,开发者需要使用 H5 页面中转,再跳转到 Scheme 实现打开小程序,跳转代码示例如下:
location.href = 'weixin://dl/business/?t= *TICKET*'
该跳转方法可以在用户打开 H5 时立即调用,也可以在用户触发事件后调用。
拼接参数
将原有 URL Scheme 平滑升级为加密 URL Scheme,支持开发者自行在链接后面拼接参数CUSTOM PARAMETE,拼接参数后的 URL Scheme 如下所示:
weixin://dl/business/?t= *TICKET*&cq=*CUSTOM PARAMETER*
注意:
- CUSTOM PARAMETE是一种特殊的query,最大256个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~%`,需要url_encode;
- 在本次规则调整生效前已经生成的 URL Scheme 可继续正常使用,并可直接进行CUSTOM PARAMETE参数拼接;
- 拼接参数后的加密 URL Scheme 打开小程序的场景值不变,仍为 1065。
明文 URL Scheme
获取方式
开发者无需调用平台接口,在MP平台->设置->隐私与安全->明文Scheme拉起此小程序声明后,可自行根据如下格式拼接appid和path等参数,作为明文 URL Scheme 链接。
weixin://dl/business/?appid=*APPID*&path=*PATH*&query=*QUERY*&env_version=*ENV_VERSION*
其中,各个参数的定义如下:
- 【必填】APPID:通过明文 URL Scheme 打开小程序的 appid ;
- 【必填】PATH:通过明文 URL Scheme 打开小程序的页面 path ,必须是已经发布的小程序存在的页面,不可携带 query;
- 【选填】QUERY:通过明文 URL Scheme 打开小程序的 query ,最大512个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~%`,需要url_encode;
- 【选填】ENV_VERSION:要打开的小程序版本,正式版为release,体验版为trial,开发版为develop,仅在微信外打开时生效。注意:若不填写,则默认打开正式版小程序。
通过明文 URL Scheme 打开小程序的场景值为 1286。
频率限制
生成端:每天生成 加密URL Scheme 和 URL Link 的总数量上限为50万;
打开端:每天通过 URL Scheme(加密+明文) 和 URL Link 打开小程序的总次数上限为300万。
wechat://miniprogram/{appID}/{path}?{query}
从短信、邮件、微信外的网页等场景打开微信小程序,通常使用的是微信提供的小程序URL Scheme(统一跳转协议)。这种方法可以让用户从这些外部渠道直接跳转到指定的小程序,前提是用户已经安装了微信,并且允许外部链接打开微信。
从短信中打开微信小程序的基本方法
- 使用小程序的 URL Scheme 格式: 微信小程序支持通过特定的URL格式来启动。这种格式包含了小程序的路径、参数等内容。短信链接通过这种URL格式可以跳转到小程序。
- URL 格式:微信小程序的URL通常是以下格式:
复制代码wechat://miniprogram/{appID}/{path}?{query}
其中:
-
- {appID}:你的小程序的 AppID。
- {path}:小程序的页面路径,类似于路由路径(例如 /pages/home/index)。
- {query}:可选的查询参数,类似于 URL 参数(例如 ?key=value&name=John)。
微信小程序的 URL Scheme 格式如下:
复制代码wechat://miniprogram?appid=你的AppID&page=你的页面路径¶m1=value1¶m2=value2
- 具体步骤:
- 准备工作:你需要在微信公众平台配置小程序的 URL Scheme,确保你的 AppID、页面路径和参数都正确。
- 短信中添加链接:在短信中,你可以直接插入这个小程序的 URL 链接。例如:
text复制代码亲爱的用户,点击下面的链接直接打开我们的微信小程序:
wechat://miniprogram?appid=wx1234567890abcdef&page=pages/home/index&user_id=12345
-
- 用户点击链接:当用户点击这个链接时,短信会尝试通过 wechat:// 协议打开微信,并跳转到指定的小程序页面。
具体实现:
假设你的小程序AppID是 wx1234567890abcdef,并且你希望打开 pages/home/index 页面,并传递一个查询参数 user_id=12345,则短信中的链接应为:
text复制代码亲爱的用户,点击下面的链接直接打开我们的微信小程序:
wechat://miniprogram?appid=wx1234567890abcdef&page=pages/home/index&user_id=12345
需要注意的事项:
- 确保用户安装了微信:这个方法需要用户的设备上安装了微信,否则链接无法打开。
- URL Scheme 不一定在所有设备和平台都能工作:不同的设备和系统可能会有所差异,微信对于外部跳转小程序的支持有时会受到限制。因此,确保该方法在不同设备和环境下的兼容性。
- 点击链接的体验:用户在点击短信中的小程序链接时,通常会弹出一个提示框,询问用户是否打开微信,用户点击确认后将跳转到小程序。
- 微信外部链接跳转:通过短信、邮件等外部应用(如短信App、邮件App)打开小程序的行为是可以通过URL Scheme来实现的,但如果你想通过网页打开小程序,网页中的 href 需要设置为符合微信小程序协议的链接。
- 使用 weixin:// 或者 wechat://:有时可以尝试不同的协议头(如 weixin:// 或 wechat://)来增加兼容性。
区别:
weixin://dl/business/?t=*TICKET* 这种链接格式与我之前提到的 wechat://miniprogram?appid=你的AppID&page=你的页面路径¶m1=value1 有一定的区别,主要体现在用途、协议和格式上。以下是详细的对比:
1. 协议的区别
- weixin://dl/business/?t=*TICKET*:
- 这是一个微信内置的深度链接(deep link),通常用于打开微信中的某些特定功能或界面(例如,跳转到某个公众号、商家页面或特定功能页面)。
- weixin:// 是微信的内置协议,用于启动微信客户端,并执行一些特定的操作或打开特定的功能。
- wechat://miniprogram?...:
- 这是用于启动微信小程序的协议,专门用于通过 URL Scheme 方式跳转到指定的小程序页面。
- wechat://(或 weixin://)表示微信的协议,后面跟的是跳转到特定小程序的路径、参数等信息。
2. 用途的区别
- weixin://dl/business/?t=*TICKET*:
- 这是用来跳转到 商家页面 或特定功能的链接。例如,可以用它来打开一个小商家或公众号的页面,通常会携带一个凭证或标识符(如 t=*TICKET*)来标识具体的目标页面或任务。
- 这种链接主要用于 微信内部业务操作,如支付、商户信息、优惠券等。
- wechat://miniprogram?appid=你的AppID&page=你的页面路径¶m1=value1:
- 这种链接是用于 跳转到微信小程序 的特定页面。它携带了小程序的 AppID、页面路径和参数,目标是直接启动并打开小程序内的某个页面。
- 适用于从外部应用(如短信、邮件、网页等)跳转到微信小程序的场景。
3. 具体示例
- weixin://dl/business/?t=*TICKET*:
- 假设这是一个商家的页面链接,*TICKET* 是一个特定的票据或标识符。当用户点击这个链接时,微信会打开商家的页面,或进行某个特定的操作(如验证、核销票据等)。
- wechat://miniprogram?appid=wx1234567890abcdef&page=pages/home/index&user_id=12345:
- 这个链接会启动一个小程序,并打开 pages/home/index 页面,带有一个参数 user_id=12345。
4. 总结
- weixin://dl/business/?t=*TICKET* 是用来处理微信内部业务或功能跳转的链接,通常与商家页面、支付、优惠券等相关。
- wechat://miniprogram?... 则专门用于跳转到 微信小程序,并携带相关的小程序信息。
两者的使用场景不同,前者多用于微信内部业务流,后者则用于从外部(如短信、网页等)跳转到微信小程序。
更多推荐
所有评论(0)