消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验。(请注意,小程序模板消息接口【已废弃】,开发者可使用订阅消息功能
)
订阅消息推送位置:服务通知
订阅消息下发条件:用户自主订阅
订阅消息卡片跳转能力:点击查看详情可跳转至该小程序的页面
一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息
;每条消息可单独订阅或退订。
一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息
。
目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务。
在微信公众平台手动配置获取模板 ID:
登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。
详见小程序端消息订阅接口 wx.requestSubscribeMessage
后台接口将订阅消息的模板id列表下发给小程序,小程序端在合适的时机去获取下发权限
详见服务端消息发送接口 subscribeMessage.send
服务端在指定场景调用接口,发送订阅消息
用户勾选 “总是保持以上选择,不再询问” 之后,下次订阅调用 wx.requestSubscribeMessage 不会弹窗,保持之前的选择,修改选择需要打开小程序设置进行修改。
XML格式示例
JSON 格式示例
参数说明
参数 | 说明 |
---|---|
ToUserName | 小程序帐号ID |
FromUserName | 用户openid |
CreateTime | 时间戳 |
TemplateId | 模板id(一次订阅可能有多个id) |
SubscribeStatusString | 订阅结果(accept接收;reject拒收) |
PopupScene | 弹框场景,0代表在小程序页面内 |
XML 格式示例
JSON 格式示例
参数说明
参数 | 说明 |
---|---|
ToUserName | 小程序帐号ID |
FromUserName | 用户openid |
CreateTime | 时间戳 |
TemplateId | 模板id(一次订阅可能有多个id) |
SubscribeStatusString | 订阅结果(reject拒收) |
XML格式示例
JSON 格式示例
参数说明
参数 | 说明 |
---|---|
ToUserName | 小程序帐号ID |
FromUserName | 用户openid |
CreateTime | 时间戳 |
TemplateId | 模板id(一次订阅可能有多个id) |
MsgID | 消息id(调用接口时也会返回) |
ErrorCode | 推送结果状态码(0表示成功) |
ErrorStatus | 推送结果状态码对应的含义 |
注意:失败仅包含因异步推送导致的系统失败
[1]
https://mp.weixin.qq.com: https://mp.weixin.qq.com/[2]
wx.requestSubscribeMessage: https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html[3]
subscribeMessage.send: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html