文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

小程序 如何申请长期订阅(设备消息)?

2023-08-30 18:36

关注

前言

现在长期订阅模板被好多人滥用了,比如我司没有特殊资质的话是很难申请,这个时候如果想实现长期订阅模板怎么办?刚好我司有蜻蜓设备可以试试设备信息
设备消息是长期订阅消息的一种,用户只需订阅一次,后续可根据设备状态的更新向用户发送服务通知。

设备消息接入指引

一、申请类目

1.1 申请工具-设备管理类目

登录小程序管理后台mp.weixin.qq.com,左侧最下方“设备”-基本设置-服务类目,添加“工具-设备管理”类目(该类目无需资质。如已有该类目可忽略此流程)
在这里插入图片描述

二、设备接入

2.1 开通设备管理功能

进入小程序案例台-功能-硬件设备,阅读设备使用条件和接入流程等,点击“开通”。管理员扫码确认后开通成功,进入设备管理页面。

在这里插入图片描述

2.2 添加硬件设备 (需审核)

进入硬件设备,点击添加设备,按照每个字段对应的说明填写信息,如实填写设备相关信息,否则会导致审核不通过。
在这里插入图片描述

2.3 获取设备 model_id

设备注册成功后,可获得平台分配的 model_id ,model_id 是调用小程序设备能力相关接口的重要凭证。获取 model_id 后,小程序可按照相关文档指引调用「设备消息」等硬件能力。

2.4 申请设备能力(需审核)

model_id 获取之后,在设备管理入口,点击右侧“申请设备能力”-“消息能力”。

在这里插入图片描述
(设备消息能力审核通过状态)

三、获取设备消息

「小程序设备消息」能力指的是,只要用户在小程序内订阅通知,开发者就可以将这些事件以订阅消息的形式发送给用户。消息在微信内的产品形态,目前以“服务通知”形式呈现。 申请设备消息必须先完成“二、设备接入”。关于小程序订阅消息的基础介绍可参考文档

3.1 获取模板

登录小程序管理后台——功能——订阅消息——公共模板库——长期订阅,查看可选用的设备消息模板。

在这里插入图片描述

基于设备状态的变化,对于一些需要对用户进行提醒的情况,专门为设备提供了长期订阅消息,会以「服务通知」的形式下发给用户。目前可能用到的场景包括但不限于:

  1. 对生命财产可能造成影响的告警:烟雾/水浸/温度/防盗传感器告警、门锁被撬、陌生人闯入等
  2. 影响到设备正常使用的提前预警:低电量预警、故障提醒、耗材用尽提醒等
  3. 需要人工介入做进一步操作的提醒:门铃呼叫、洗衣完成等

3.2 获取模板ID

选择设备消息模板中需要的关键词,并提交。
注意:设备消息模版的关键词内容由平台生成,为枚举值,开发者不能够自定义内容。

在这里插入图片描述
提交后,可在“我的模板”中找到对应模板的模板 ID ,每个模板以 template_id 标记。
在这里插入图片描述

3.3 获取设备票据

获取 snTicket 用于「发起订阅」步骤。详见服务端设备票据接口 hardwareDevice.getSnTicket

四、触发设备消息

4.1 发起用户订阅

发起订阅调用 wx.requestSubscribeDeviceMessage 接口会有以下授权弹窗出现,用户同意订阅消息后,才会有设备消息发送至用户的微信会话

呼叫、告警等消息,可引导用户在小程序内完成设备消息订阅,用户需勾选左侧消息,并点击右侧强提醒按钮后提交“允许”。
在这里插入图片描述
(以上为小程序门禁设备长期消息弹窗样式)

示例代码

import { sn } from './utils/util'wx.requestSubscribeDeviceMessage({    sn: sn(), //sn序列号是前端随机生成的     snTicket: 'xxxxx', //获取 snTicket 用于「发起订阅」步骤。详见服务端设备票据接口 hardwareDevice.getSnTicket 。    modelId: 'xxxxx',  //设备注册成功后,可获得平台分配的 model_id ,model_id 是调用小程序设备能力相关接口的重要凭证。    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 发送设备消息

开发者通过微信服务端接口向用户推送设备消息。详见服务端设备消息发送接口 hardwareDevice.send

注意:开发者需要在小程序的合理场景内,给用户提供长期消息的授权弹窗。如用户实现房屋认证后通过用户操作触发“门禁机呼叫提醒”的订阅弹窗。

开发过程反馈bug

2023年5月24号 调试时遇到问题

sn必须是设备序列号 不是前端生成的 参考2.4 申请设备能力下图中的设备型号就是

来源地址:https://blog.csdn.net/qzmlyshao/article/details/130829730

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯