微信小程序推送消息
微信小程序推送消息
- 前言
- 一、推送消息:小程序“訂閱消息”功能
- 二、開發步驟
- 1.小程序調用wx.requestSubscribeMessage,進行消息訂閱用戶授權
- 2.小程序調用wx.login,獲取code
- 3.后端訪問請求,獲取用戶openId
- 4.后端訪問請求,獲取小程序全局唯一后臺接口調用憑據access_token
- 5.后端訪問請求,推送訂閱消息
- 6.推送訂閱消息結束,用戶成功接收消息
- 總結
前言
微信小程序推送消息給指定用戶
一、推送消息:小程序“訂閱消息”功能
1.原“模板消息”已經被棄用,所以需要使用微信小程序官方提供的最新消息推送接口
2.為什么不能使用“客服消息”接口:客服消息,顧名思義,就是你以客服的身份給你的用戶解答問題唄,如果你的用戶長時間沒有說過話了,其實就相當于離線了,你的消息發過去也沒有什么意義,所以微信會給出了45015這么個錯誤。所以,解決這個問題的方向就是,換個推送消息接口。
3.【推薦】使用小程序“訂閱消息”功能,達到推送消息的目的,并以“服務通知”的形式接收消息
二、開發步驟
微信小程序官方參考地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html#%E8%AE%A2%E9%98%85%E6%B6%88%E6%81%AF%E8%AF%AD%E9%9F%B3%E6%8F%90%E9%86%92
1.小程序調用wx.requestSubscribeMessage,進行消息訂閱用戶授權
微信小程序官方參考地址:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html
訂閱消息模板配置:https://mp.weixin.qq.com/wxamp/newtmpl/mytmpl?start=0&limit=10&token=1241600784&lang=zh_CN
代碼如下(示例):
wx.requestSubscribeMessage({tmplIds: ['訂閱消息模板ID'],success (res) {console.log(res);}})2.小程序調用wx.login,獲取code
代碼如下(示例):
// 登錄 wx.login({success: res => {// 發送 res.code 到后端換取 openId, sessionKey, unionId// 后端訪問請求獲取用戶openIdconsole.log(res.code);},fail: res => {// 登錄失敗console.log("登錄失敗!");}})用戶openid:同一用戶,訪問不同的小程序,得到的openid都是不一樣的,即openid與小程序有關
用戶unionId:同一用戶,對同一個微信開放平臺下的不同應用(同一個微信開放平臺帳號下的移動應用、網站應用和公眾帳號(包括小程序)),UnionID是相同的。可通過 UnionID 來區分用戶的唯一性。官方參考地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html
在進行用戶信息校驗時,【推薦】使用unionId作為用戶唯一標識
3.后端訪問請求,獲取用戶openId
微信小程序官方參考地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html
使用Postman模擬訪問請求(示例):
4.后端訪問請求,獲取小程序全局唯一后臺接口調用憑據access_token
微信小程序官方參考地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html
使用Postman模擬訪問請求(示例):
5.后端訪問請求,推送訂閱消息
微信小程序官方參考地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html
使用Postman模擬訪問請求(示例):
訂閱消息模板:
6.推送訂閱消息結束,用戶成功接收消息
總結
- 開通小程序“訂閱消息”功能
- 配置訂閱消息“模板”
- 訂閱消息模板分為“一次性訂閱”和“長期訂閱”兩種模板。
- 一次性訂閱模板只能授權一次發送一次。
- 長期訂閱模板可以授權一次,一直發送,沒有次數限制。
- 長期訂閱模板和小程序配置的類目有關,有的類目下沒有長期訂閱模板。目前長期性訂閱消息僅向政務民生、醫療、交通、金融、教育等線下公共服務開放。
- 如果沒有找到符合需求的訂閱模板,可以自定義創建新的訂閱模板
- 用戶授權“訂閱消息”
- 調用wx.login,獲取code
- 獲取用戶openid
- 獲取小程序全局唯一后臺接口調用憑據access_token
- 推送訂閱消息
總結
- 上一篇: EPSON 利用CCD图像处理包标定工具
- 下一篇: python实现自动化打印