# 微信小程序中怎么實現一個發送訂閱消息功能
微信小程序的訂閱消息功能允許開發者向用戶發送服務通知,提升用戶留存和活躍度。以下是實現訂閱消息功能的完整流程和代碼示例。
---
## 一、前期準備
1. **開通訂閱消息權限**
在小程序后臺【功能】-【訂閱消息】中申請模板,選擇行業并獲取模板ID(如:`TEMPLATE_ID`)。
2. **用戶授權訂閱**
用戶需主動觸發訂閱行為,通過`wx.requestSubscribeMessage`API請求授權:
```javascript
wx.requestSubscribeMessage({
tmplIds: ['TEMPLATE_ID'], // 模板ID數組
success(res) {
if (res['TEMPLATE_ID'] === 'accept') {
console.log('用戶已授權');
}
}
});
訂閱消息需通過后端調用微信接口發送,步驟如下:
// 示例:Node.js獲取token
const axios = require('axios');
const url = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET`;
const { data } = await axios.get(url);
const access_token = data.access_token;
axios.post(`https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=${access_token}`, {
touser: 'USER_OPENID',
template_id: 'TEMPLATE_ID',
page: 'pages/index/index', // 跳轉頁面
data: {
thing1: { value: '消息內容' }, // 模板中的字段
time2: { value: '2023-01-01' }
}
});
通常在用戶完成關鍵動作(如下單、簽到)后觸發訂閱:
// 用戶點擊按鈕后發送
handleSubscribe() {
wx.requestSubscribeMessage({
tmplIds: ['TEMPLATE_ID'],
success() {
// 授權成功后調用后端接口
wx.cloud.callFunction({
name: 'sendSubscribeMessage',
data: { openid: '用戶OPENID' }
});
}
});
}
模板字段匹配
消息內容必須與申請模板時定義的字段完全一致(如thing1、time2)。
用戶授權時效
用戶授權一次僅允許發送一條消息,長期訂閱需特殊行業權限。
測試技巧
開發階段可通過開發者工具的【模板消息】功能快速調試。
通過以上步驟,即可實現小程序訂閱消息的完整流程。合理運用此功能可有效提升用戶觸達率,但需注意避免過度推送導致用戶反感。 “`
文章共計約550字,涵蓋從權限申請到前后端實現的完整流程,采用Markdown格式便于閱讀和代碼展示。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。