小程序使用公众号模板推送消息

小程序使用公众号模板推送消息,第1张

由于小程序只能发送订阅消息,消息类型如下:

一次性订阅消息

一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。(发一次消息要用户授权一下,可以同时授权多条消息提醒,但每次也只发一遍。)

长期订阅消息

一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。

目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务。(即使你是这些行业,也需要使用申请模板去微信那边申请。)

1、公众号和小程序需要在同一个微信开放平台下,保证拿到相同的UnionID

2、如果需要在消息模板上加上小程序的入口,需要微信公众号和小程序做关联

3、小程序和公众号都必须是认证过的

4、小程序需要提前知道公众号的appid和appsecret

5、发送消息之前需要拿到用户对应于公众号的openid(这个要前期规划好获取方案)

微信公众号会在2021-04-30发文对消息模板做限制,想要做成和小程序订阅消息一样的模式,不知道最终会调整成什么样子。

最近做了一个需求在公众号网页推送的模板消息,连接跳转到关联小程序,遇到总是跳转到首页的问题。说一下里面的坑

后端是PHP进 行消息发送  官方发送数据例子如下:

最开始 为了构造一个json数据格式,

第一步:我是先把 数据构造成一个多维数组 $arr,

第二步:$json_data  = json_encode($arr),然后再  $json = urldecode($json_data);

第三步:再然后 就是 通过  curl_init 进行发送了,这里不再详述。

接下来有个坑,发送不成功,错误信息 如下

{“errcode”:40165,“errmsg”:"invalid weapp pagepath}

百度下,很快有了答案,说官方文档有误,把 pagepath 改为 path 即可,我试了下,果然可以,消息推送正常,开心坏了!

奇怪的事情发生了,点击推送消息后没有跳转到小程序指定页面,一直是首页!

然后百度搜索各种答案,有说  路径参数名,改为 page(试了下居然可以),有的说 为 pagepath(这不是刚跳出来的坑吗?为啥别人居然可以成功发送?)

经过各种测试终于发现问题所在,第二步有问题!json_encode() 把原来数组中的路径 斜杠转义了!  'pages/auth/auth?id=6'   变成了  'pages\/auth\/auth?id=6'  难怪找不到路径!

后来看了下手册,有防止 json_encode() 转义 斜杠的参数  

JSON_UNESCAPED_SLASHES (不转义斜杠,对应的数字 64)

然后把第二步  改为   $json_data  = json_encode($arr, JSON_UNESCAPED_SLASHES )

还得把  页面参数由 path  改为   pagepath (不改会报错!)

再发送消息就可以正常接收并跳转到指定小程序页面啦!下面是我的构造的正确的多维数组格式


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12045551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存