各类页面跳转小程序——非微信网页跳转小程序

561 阅读1分钟

场景:app中嵌套h5页,在h5中点击按钮添加老师,跳转到微信小程序添加老师页面,长按二维码识别;通过weixin://协议可实现此功能。

有以下两种方法,加密和明文

加密 URL Scheme

通过服务端接口可以获取打开小程序任意页面的加密 URL Scheme。适用于从短信、邮件、微信外网页等场景打开小程序。

生成的 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

注意:

  1. CUSTOM PARAMETE是一种特殊的query,最大256个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~%,需要url_encode;
  2. 在本次规则调整生效前已经生成的 URL Scheme 可继续正常使用,并可直接进行CUSTOM PARAMETE参数拼接;
  3. 拼接参数后的加密 URL Scheme 打开小程序的场景值不变,仍为 1065。

明文 URL Scheme

开发者无需调用平台接口,在MP平台->设置->隐私与安全->明文Scheme拉起此小程序声明后,可自行根据如下格式拼接appid和path等参数,作为明文 URL Scheme 链接。

weixin://dl/business/?appid=APPID&path=PATH&query=QUERY&env_version=ENV_VERSION

参数的定义如下:

  1. 【必填】APPID:通过明文 URL Scheme 打开小程序的 appid ;
  2. 【必填】PATH:通过明文 URL Scheme 打开小程序的页面 path ,必须是已经发布的小程序存在的页面,不可携带 query;
  3. 【选填】QUERY:通过明文 URL Scheme 打开小程序的 query ,最大512个字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~%,需要url_encode
  4. 【选填】ENV_VERSION:要打开的小程序版本,正式版为release,体验版为trial,开发版为develop,仅在微信外打开时生效。注意:若不填写,则默认打开正式版小程序。

通过明文 URL Scheme 打开小程序的场景值为 1286。

参考微信小程序API获取小程序链接