# 小程序订阅消息

## 功能介绍

消息能力是小程序能力中的重要组成，我们为开发者提供了订阅消息能力，以便实现服务的闭环和更优的体验。

订阅消息推送位置：服务通知

订阅消息下发条件：开发者通过一定的方式触发用户主动订阅

订阅消息卡片跳转能力：点击查看详情可跳转至该小程序的页面

## 消息分类

### 新版一次性订阅消息Beta

新版一次性订阅消息是一种无需用户在弹窗中主动订阅即可向用户下发消息的能力，用户的订阅方式为：

1. 当用户在小程序中进行微信支付后，开发者可将微信支付订单号作为 code 向用户下发服务通知
2. 开发者可在小程序中将触发服务的 button 组件的 open-type 的值设置为 liveActivity，当用户点击 button 后可获得 code ，后续可使用此 code 向用户下发服务通知

此下发方式由平台定义模版，开发者根据自身业务选择模版进行接入。

详见[订阅消息接入 Beta开发指南](subscribe-message-2)文档。

### 一次性订阅消息（用户通过弹窗订阅）

一次性订阅消息用于解决用户使用小程序后，后续服务环节的通知问题。

开发者在小程序中调用 requestSubscribeMessage 接口后，将向用户展示弹窗，用户可打开自己想要接受的消息开关。用户订阅后，开发者可不限时间地下发一条对应的服务消息；每条消息可单独订阅或退订。

详见[小程序订阅消息开发指南](subscribe-message)文档。

### 长期订阅消息（用户通过弹窗订阅）

一次性订阅消息可满足小程序的大部分服务场景需求，但线下公共服务领域存在一次性订阅无法满足的场景，如航班延误，需根据航班实时动态来多次发送消息提醒。为便于服务，我们提供了长期性订阅消息，用户订阅一次后，开发者可长期下发多条消息。

目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放，后期将逐步支持到其他线下公共服务业务。

详见[小程序订阅消息开发指南](subscribe-message)文档。

同时长期订阅消息支持[语音提醒](subscribe-message#订阅消息语音提醒)与[添加提醒](subscribe-message#订阅消息添加提醒)能力。

#### 长期订阅限频消息
为满足介于长期订阅与一次性订阅之间的部分业务场景需求，长期订阅消息现细分为「不限频」与「限频」两种类型。其中，限频类型支持用户完成一次订阅后，开发者按照预设频次（如每日一次、每月一次等）向用户下发消息。

需特别说明的是，限频消息引入「必填字段」概念，该字段将作为频次校验的核心标识（code）。例如：用户持有三张当月到期的保单（保单 1、保单 2、保单 3），若对应的「保单到期提醒」消息模版频次限制为每月一次，则开发者在「保单编号」这一必填字段中分别填入保单 1、保单 2 的编号时，可分别触发一次消息下发（即每张保单每月可基于该模版触发一次消息下发）。

限频消息的开发方式与长期订阅消息保持一致，开发者可进入公共模版库，选择与自身小程序类目匹配的消息模版。当前限频消息暂向金融等指定行业开放，若开发者存在更多模版需求，可通过行业对接人员反馈，或前往微信开放社区提交需求反馈。

### 设备订阅消息

设备订阅消息是一种特殊类型的订阅消息，它属于长期订阅消息类型，且需要完成「[设备接入](/miniprogram/dev/framework/device/device-access)」才能使用。

设备订阅消息用于在设备触发某些需要人工介入的事件时（例如设备发生故障、设备耗材不足等），向用户发送消息通知。

详见[设备订阅消息](/miniprogram/dev/framework/device/device-message)文档。
