微信小程序的推送与通知功能是提高用户留存和交互的重要手段。常见的推送与通知方式包括订阅消息、客服消息和微信模板消息(已被订阅消息替代)。 本文将详细介绍小程序推送通知的使用场景、实现方法,并提供示例代码,最后总结优化建议和参考资料。
订阅消息适用于一次性通知,如订单状态、会议提醒。 用户点击按钮后,开发者需后端调用 API 发送消息。
app.json
中添加权限{
"permissions": {
"scope.subscribeMessage": {
"desc": "订阅消息用于发送提醒"
}
}
}
wx.requestSubscribeMessage({
tmplIds: ['TEMPLATE_ID'], // 订阅消息模板 ID
success(res) {
if (res['TEMPLATE_ID'] === 'accept') {
wx.showToast({ title: '订阅成功', icon: 'success' });
}
},
fail(err) {
console.error("订阅失败", err);
}
});
POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN
{
"touser": "USER_OPEN_ID",
"template_id": "TEMPLATE_ID",
"data": {
"thing1": { "value": "订单已发货" },
"time2": { "value": "2024-02-01 10:00" }
}
}
客服消息适用于长时间沟通,支持文字、图片、音频等格式。
wx.openCustomerServiceChat({
extInfo: { url: 'https://mp.weixin.qq.com/kf' },
success() { console.log('打开客服成功'); }
});
POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
{
"touser": "USER_OPEN_ID",
"msgtype": "text",
"text": { "content": "您好,您的订单已发货!" }
}
如果需要跨小程序通知用户,可通过公众号模板消息实现。 示例:用户在小程序下单后,公众号推送支付成功通知。
openid
wx.login({
success(res) {
wx.request({
url: "https://yourserver.com/getOpenID",
data: { code: res.code },
success(res) { console.log("用户 OpenID", res.data.openid); }
});
}
});
POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
{
"touser": "USER_OPEN_ID",
"template_id": "TEMPLATE_ID",
"data": {
"first": { "value": "您的订单已支付成功" },
"keyword1": { "value": "¥99.00" },
"keyword2": { "value": "2024-02-01 12:00" }
}
}
本篇文章介绍了小程序的推送与通知功能,包括:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。