基于URL Scheme开放能力实现在H5页面打开小程序任意页面

2022-06-09 17:04 栏目:技术开发 查看(8116)

URL scheme是App提供给外部的可以直接操作App的规则,场景的手机app都会定义自己的URL Scheme规则,如淘宝的taobao://,微信的weixin://。主要用于不同app之间进行跳转,当然也可以从网页跳转到app,跟网页的超链接跳转作用是类似的。

需要说明的是,生成的URL scheme只能被一个用户打开(同一个用户可以重复打开),如果一个链接被用户打开过,其他用户打开会报错。同时,单天生成Scheme+URL Link数量上限是50万条。目前该功能仅对非个人小程序账号开放权限,也就是以个人身份注册的小程序不能使用该接口能力。

自 2022 年 4 月 11 日起,URL Scheme有效期最长 30 天,不再支持永久有效的URL Scheme、不再区分短期有效URL Scheme与长期有效URL Scheme。

请求地址

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

其中ACCESS_TOKEN就是通过getAccessToken获取的access_token(有效期为2个小时,可以缓存),也就是这样的信息:

57_ojAsr9tfw8gYoFuSN8XFeuHFGLOScdq75sZL4qVTnUF_YPxiJdJEPiPH1JB9NFxv3OsvTjTtcRf3aNMTl1BEAcZbBmPzCsuYoZYuXQtx8V11w68XtcuzRNC692aWZCXdIAj_8Zd1-N8ebMfo****ABAOFB

请求参数如下:

QQ截图20220609161131

一般的我们需要jump_wxa的的参数,如果不设置,则自动跳转到小程序设置的主页,jump_wxa包括如下参数:

1、path:通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页(如/pages/index/index);

2、query:通过 scheme 码进入小程序时的 query(也就是小程序页面的参数),最大1024个字符,只支持数字,大小写英文以及部分特殊字符:`!#$&’()*+,/:;=?@-._~%“;

3、env_version:要打开的小程序版本。正式版为”release”,体验版为”trial”,开发版为”develop”,仅在微信外打开时生效。默认为“release”(也就是正式版)。

简单的服务端demo代码如下:

 $jssdk = new \jssdk\Jssdk($this->config['appid'],$this->config['secret']);
 $access_token= $jssdk->getAccessToken();//获取token
 $url='https://api.weixin.qq.com/wxa/generatescheme?access_token='.$access_token;
 $params=[
    'jump_wxa'=>[
       'path'=>'/pages/goods/view/view',
       'query'=>'goods_id=50'
    ] 
 ];
 $res = $this->post($url, json_encode($params));//请求微信服务端
 echo $res;

返回的信息如下:

QQ截图20220609163703

直接在微信app内使用weixin://打开的效果如下:

WeChat_20220609163830_20220609163930

也可以在外部h5网页(这样可以在手机浏览器,微博、抖音等第三方app中使用h5链接打开),效果如下:

222_20220609170043

至于有啥用,这个得看你的应用场景,总的来说就是在外部可以打开小程序的任意页面路径。比如在抖音中引导粉丝关注公众号或个人微信账号,就可以通过跳转到小程序,然后小程序页面中嵌入微信二维码进行长按识别直接添加微信号等。

与我们的项目经理联系
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

转载请注明出处:基于URL Scheme开放能力实现在H5页面打开小程序任意页面 - 微构网络
分享: