微信小程序发服务通知

微信小程序发服务通知

微信小程序发送服务通知指南

一、概述

微信小程序的服务通知功能允许开发者向用户推送重要信息,如订单状态更新、物流提醒等。这种即时通讯方式有助于提升用户体验和增强用户粘性。本指南将详细介绍如何在小程序中配置和发送服务通知。

二、前提条件

  1. 小程序账号:确保您已注册并拥有一个有效的微信小程序账号。
  2. 开发权限:需要具备小程序的开发权限,能够访问小程序后台和开发工具。
  3. 服务器支持:为了发送模板消息或自定义服务通知,通常需要有一个可以处理请求的后端服务器。

三、开通服务通知功能

  1. 登录小程序后台:使用您的微信开发者账号登录微信公众平台,进入小程序管理界面。

  2. 设置-订阅消息:在左侧菜单中选择“设置”->“订阅消息”,进入订阅消息管理页面。

  3. 添加模板:根据业务需求选择合适的模板库中的模板,或者申请创建自定义模板(需审核)。每个模板包含特定的字段,用于展示通知内容。

  4. 获取模板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. 处理用户反馈

用户可以对接收到的服务通知进行操作(如查看详情、拒收等),建议在后端记录这些操作日志,以便优化通知策略和提升用户体验。

五、注意事项

  • 频率控制:避免过于频繁地发送通知,以免打扰用户。
  • 内容质量:确保通知内容简洁明了,对用户有价值。
  • 合规性:遵循微信的相关规定,不得发送垃圾信息或违法内容。

通过以上步骤,您可以成功地在微信小程序中配置并发送服务通知,有效提升与用户之间的互动性。