
微信小程序发送服务通知指南
一、概述
微信小程序的服务通知功能允许开发者向用户推送重要信息,如订单状态更新、物流提醒等。这种即时通讯方式有助于提升用户体验和增强用户粘性。本指南将详细介绍如何在小程序中配置和发送服务通知。
二、前提条件
- 小程序账号:确保您已注册并拥有一个有效的微信小程序账号。
- 开发权限:需要具备小程序的开发权限,能够访问小程序后台和开发工具。
- 服务器支持:为了发送模板消息或自定义服务通知,通常需要有一个可以处理请求的后端服务器。
三、开通服务通知功能
登录小程序后台:使用您的微信开发者账号登录微信公众平台,进入小程序管理界面。
设置-订阅消息:在左侧菜单中选择“设置”->“订阅消息”,进入订阅消息管理页面。
添加模板:根据业务需求选择合适的模板库中的模板,或者申请创建自定义模板(需审核)。每个模板包含特定的字段,用于展示通知内容。
获取模板ID:选择好模板后,记录下对应的模板ID,这是后续调用API时必需的参数。
四、发送服务通知的步骤
1. 获取用户的OpenID和订阅状态
在用户授权的前提下,通过wx.login接口获取临时登录凭证code,然后在服务器端使用该code换取用户的OpenID及session_key。同时,可以通过调用相关API查询用户对特定模板消息的订阅状态。
// 前端代码示例 wx.login({ success(res) { if (res.code) { // 将code发送到后端服务器进行进一步处理 wx.request({ url: 'https://yourserver.com/login', // 后端接口地址 method: 'POST', data: { code: res.code }, success(response) { console.log('Login success:', response); } }); } else { console.log('Login failed!' + res.errMsg); } } });2. 在服务器端发送服务通知
使用微信提供的API(如subscribeMessage.send),结合之前获取的OpenID和模板ID,以及填充好的模板数据,向后端服务器发送请求以触发服务通知的发送。
# Python示例(使用requests库) import requests import json access_token = 'YOUR_ACCESS_TOKEN' # 通过appid和secret获取 openid = 'USER_OPENID' # 用户唯一标识 template_id = 'TEMPLATE_ID' # 模板ID data = { "touser": openid, "template_id": template_id, "page": "index", # 点击通知跳转的小程序页面路径 "data": { "keyword1": { "value": "Hello World" }, "keyword2": { "value": "This is a test message." }, // 根据模板的具体字段继续填写... } } url = f"https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token={access_token}" response = requests.post(url, data=json.dumps(data), headers={'Content-Type': 'application/json'}) print(response.text)注意:实际开发中,需要处理access_token的缓存与过期刷新问题,避免频繁请求导致API限流。
3. 处理用户反馈
用户可以对接收到的服务通知进行操作(如查看详情、拒收等),建议在后端记录这些操作日志,以便优化通知策略和提升用户体验。
五、注意事项
- 频率控制:避免过于频繁地发送通知,以免打扰用户。
- 内容质量:确保通知内容简洁明了,对用户有价值。
- 合规性:遵循微信的相关规定,不得发送垃圾信息或违法内容。
通过以上步骤,您可以成功地在微信小程序中配置并发送服务通知,有效提升与用户之间的互动性。
