获取方式
开发者无需调用平台接口,在拉起此小程序声明后,可自行根据如下格式拼接appid和path等参数,作为明文 URL Scheme 链接。
weixin://dl/business/?appid=*APPID*&path=*PATH*&query=*QUERY*&env_version=*ENV_VERSION*
//例如
weixin://dl/business/?appid=wx4e1ba651bbe36d01&path=mall/order/list&query=index%3D2
其中,各个参数的定义如下:
【必填】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万。
拼接方式
alipays://platformapi/startapp?appId=[appId]&page=[page]&query=[query]
其中,各个参数的定义如下:
appId 要跳转的目标小程序 APPID。 例如:20170713077xxxxx
page 要跳转到目标小程序的具体 page 页面,该值等于 app.json 里面的配置值;如果不带 page
字段,默认跳转到小程序首页。 路径中可以在 ?后面附加跳转后的页面参数。页面参数必须进行 UrlEncode编码,否则只能获取到第一个页面参数。
例如:
UrlEncode 编码前:pages/index/index?key1=1&key2=2
UrlEncode 编码后:pages/index/index?key1%3D1%26key2%3D2
query 表示从外部 App 携带的参数透传到目标小程序,如果不需要携带参数给小程序,可以不带该参数。
query:启动参数,内容按照格式为参数名=参数值&参数名=参数值
注意: query 携带的启动参数必须进行 UrlEncode编码否则只能获取到第一个参数。
例如:
UrlEncode 编码前:key1=value1&key2=value2
UrlEncode编码后:key1%3Dvalue1%26key2%3Dvalue2
scheme转换成https链接唤起小程序
需要把 scheme 当作参数进行 UrlEncode 编码后,拼接在 https://ds.alipay.com/?scheme= 后。
拼接过程
第一步、填写贵司正确的应用appId和page页面路径,完成如下:
alipays://platformapi/startapp?appId=202100216xxxxxxx&page=pages/index/index
携带启动参数场景,先单独对 query 携带的启动参数进行 UrlEncode 编码,完成如下:
UrlEncode 编码前:
alipays://platformapi/startapp?appId=202100216xxxxxxx&page=pages/index/index&query=key1=value1&key2=value2
UrlEncode 编码后:
alipays://platformapi/startapp?appId=202100216xxxxxxx&page=pages/index/index&query=key1%3Dvalue1%26key2%3Dvalue2
第二步、对 第一步 拼接完成的链接进行整体 UrlEncode 编码并拼接在 后(携带启动参数场景),完成完整拼接如下:
https://ds.alipay.com/?scheme=alipays%3A%2F%2Fplatformapi%2Fstartapp%3FappId%3D202100216xxxxxxx%26page%3Dpages%2Findex%2Findex%26query%3Dkey1%253Dvalue1%2526key2%253Dvalue2