前言
現(xiàn)在長期訂閱模板被好多人濫用了,比如我司沒有特殊資質(zhì)的話是很難申請,這個時候如果想實現(xiàn)長期訂閱模板怎么辦?剛好我司有蜻蜓設(shè)備可以試試設(shè)備信息
設(shè)備消息是長期訂閱消息的一種,用戶只需訂閱一次,后續(xù)可根據(jù)設(shè)備狀態(tài)的更新向用戶發(fā)送服務(wù)通知。
設(shè)備消息接入指引
一、申請類目
1.1 申請工具-設(shè)備管理類目
登錄小程序管理后臺mp.weixin.qq.com,左側(cè)最下方“設(shè)備”-基本設(shè)置-服務(wù)類目,添加“工具-設(shè)備管理”類目(該類目無需資質(zhì)。如已有該類目可忽略此流程)
二、設(shè)備接入
2.1 開通設(shè)備管理功能
進入小程序案例臺-功能-硬件設(shè)備,閱讀設(shè)備使用條件和接入流程等,點擊“開通”。管理員掃碼確認后開通成功,進入設(shè)備管理頁面。
2.2 添加硬件設(shè)備 (需審核)
進入硬件設(shè)備,點擊添加設(shè)備,按照每個字段對應(yīng)的說明填寫信息,如實填寫設(shè)備相關(guān)信息,否則會導致審核不通過。
2.3 獲取設(shè)備 model_id
設(shè)備注冊成功后,可獲得平臺分配的 model_id ,model_id 是調(diào)用小程序設(shè)備能力相關(guān)接口的重要憑證。獲取 model_id 后,小程序可按照相關(guān)文檔指引調(diào)用「設(shè)備消息」等硬件能力。
2.4 申請設(shè)備能力(需審核)
model_id 獲取之后,在設(shè)備管理入口,點擊右側(cè)“申請設(shè)備能力”-“消息能力”。
(設(shè)備消息能力審核通過狀態(tài))
三、獲取設(shè)備消息
「小程序設(shè)備消息」能力指的是,只要用戶在小程序內(nèi)訂閱通知,開發(fā)者就可以將這些事件以訂閱消息的形式發(fā)送給用戶。消息在微信內(nèi)的產(chǎn)品形態(tài),目前以“服務(wù)通知”形式呈現(xiàn)。 申請設(shè)備消息必須先完成“二、設(shè)備接入”。關(guān)于小程序訂閱消息的基礎(chǔ)介紹可參考文檔
3.1 獲取模板
登錄小程序管理后臺——功能——訂閱消息——公共模板庫——長期訂閱,查看可選用的設(shè)備消息模板。
基于設(shè)備狀態(tài)的變化,對于一些需要對用戶進行提醒的情況,專門為設(shè)備提供了長期訂閱消息,會以「服務(wù)通知」的形式下發(fā)給用戶。目前可能用到的場景包括但不限于:
- 對生命財產(chǎn)可能造成影響的告警:煙霧/水浸/溫度/防盜傳感器告警、門鎖被撬、陌生人闖入等
- 影響到設(shè)備正常使用的提前預(yù)警:低電量預(yù)警、故障提醒、耗材用盡提醒等
- 需要人工介入做進一步操作的提醒:門鈴呼叫、洗衣完成等
3.2 獲取模板ID
選擇設(shè)備消息模板中需要的關(guān)鍵詞,并提交。
注意:設(shè)備消息模版的關(guān)鍵詞內(nèi)容由平臺生成,為枚舉值,開發(fā)者不能夠自定義內(nèi)容。
提交后,可在“我的模板”中找到對應(yīng)模板的模板 ID ,每個模板以 template_id 標記。
3.3 獲取設(shè)備票據(jù)
獲取 snTicket 用于「發(fā)起訂閱」步驟。詳見服務(wù)端設(shè)備票據(jù)接口 hardwareDevice.getSnTicket 。
四、觸發(fā)設(shè)備消息
4.1 發(fā)起用戶訂閱
發(fā)起訂閱調(diào)用 wx.requestSubscribeDeviceMessage 接口會有以下授權(quán)彈窗出現(xiàn),用戶同意訂閱消息后,才會有設(shè)備消息發(fā)送至用戶的微信會話
呼叫、告警等消息,可引導用戶在小程序內(nèi)完成設(shè)備消息訂閱,用戶需勾選左側(cè)消息,并點擊右側(cè)強提醒按鈕后提交“允許”。
(以上為小程序門禁設(shè)備長期消息彈窗樣式)
示例代碼
import { sn } from './utils/util'
wx.requestSubscribeDeviceMessage({
sn: sn(), //sn序列號是前端隨機生成的
snTicket: 'xxxxx', //獲取 snTicket 用于「發(fā)起訂閱」步驟。詳見服務(wù)端設(shè)備票據(jù)接口 hardwareDevice.getSnTicket 。
modelId: 'xxxxx', //設(shè)備注冊成功后,可獲得平臺分配的 model_id ,model_id 是調(diào)用小程序設(shè)備能力相關(guān)接口的重要憑證。
tmplIds: ['xxxxx'], //模板id
success(res) {
console.log('[wx.requestSubscribeDeviceMessage success]: ', res)
// { 'QCpBsp1TGJ1ML-UIwAIMkdXpPGzxSfwJqsKsvMVs3io': 'accept' }
},
fail(res) {
console.log('[wx.requestSubscribeDeviceMessage fail]: ', res)
}
})
sn序列號
export function sn(){
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
//var milliseconds = date.getMilliseconds();
var rand = Math.round(Math.random()*100);
return year+""+month+""+day+""+hour+""+minute+""+second+""+rand;
}
接入文檔
4.2 發(fā)送設(shè)備消息
開發(fā)者通過微信服務(wù)端接口向用戶推送設(shè)備消息。詳見服務(wù)端設(shè)備消息發(fā)送接口 hardwareDevice.send
注意:開發(fā)者需要在小程序的合理場景內(nèi),給用戶提供長期消息的授權(quán)彈窗。如用戶實現(xiàn)房屋認證后通過用戶操作觸發(fā)“門禁機呼叫提醒”的訂閱彈窗。文章來源:http://www.zghlxwxcb.cn/news/detail-532746.html
開發(fā)過程反饋bug
2023年5月24號 調(diào)試時遇到問題文章來源地址http://www.zghlxwxcb.cn/news/detail-532746.html
sn必須是設(shè)備序列號 不是前端生成的 參考2.4 申請設(shè)備能力下圖中的設(shè)備型號就是
到了這里,關(guān)于小程序 如何申請長期訂閱(設(shè)備消息)?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!