小程序消息服务器webapi,小程序订阅消息

# 小程序订阅消息

# 功能介绍

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

订阅消息下发条件:用户自主订阅

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

ca3eaa4a867d755cc907a073714b88e1.png

# 消息类型

1. 一次性订阅消息

一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。

2. 长期订阅消息

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

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

# 订阅消息语音提醒

当前小程序订阅消息通知与微信消息的通知的提示音是一样的,对于部分订阅消息模板,增加语音提醒能力,播报预料部分字段支持开发者定义。

当开发者调用wx.requestSubscribeMessage时仅订阅1条消息且该模板支持开启语音提醒,用户在订阅时可以选择开启语音提醒。开启后将在接收订阅消息时会同步播报语音提醒。当用户开启了语音提醒,该模板的订阅状态为'acceptWithAudio'。

订阅弹窗样式如下:

444b9860cfe6f0446b7f1b2dfab68662.png

当前支持开启语音提醒的模板及播报语料如下:

标题 类型 类目 播报语料 收款到账通知 长期订阅 银行 小程序收款元

以下情况会导致语音提醒无法播报: 用户将服务通知设置为免打扰

用户开启了手机静音模式或手机音量过低

用户未打开微信新消息通知,可引导用户前往微信-“我”-“设置”-“新消息通知”中打开

用户未打开系统对微信的通知

用户开启了低电量模式

用户版本过低:需要iOS 8.0.6与安卓8.0.3及以上

# 使用说明

# 步骤一:获取模板 ID

在微信公众平台手动配置获取模板 ID:

登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。

bb689e2c3b33dcfbcf03978fff8f63b4.png

# 步骤二:获取下发权限

# 步骤三:调用接口下发订阅消息

# 注意事项 用户勾选 “总是保持以上选择,不再询问” 之后,下次订阅调用 wx.requestSubscribeMessage 不会弹窗,保持之前的选择,修改选择需要打开小程序设置进行修改。

# 订阅消息事件推送

1、当用户触发订阅消息弹框后,用户的相关行为事件结果会推送至开发者所配置的服务器地址。

# XML格式示例

1610969440

2

2

# JSON 格式示例

{

"ToUserName": "gh_123456789abc",

"FromUserName": "o7esq5OI1Uej6Xixw1lA2H7XDVbc",

"CreateTime": "1620973045",

"MsgType": "event",

"Event": "subscribe_msg_popup_event",

"SubscribeMsgPopupEvent": [ {

"TemplateId": "hD-ixGOhYmUfjOnI8MCzQMPshzGVeux_2vzyvQu7O68",

"SubscribeStatusString": "accept",

"PopupScene": "0"

}],

}

# 参数说明

参数 说明 ToUserName 小程序帐号ID

FromUserName 用户openid

CreateTime 时间戳

TemplateId 模板id(一次订阅可能有多个id)

SubscribeStatusString 订阅结果(accept接收;reject拒收)

PopupScene 弹框场景,0代表在小程序页面内

**2、当用户在手机端服务通知里消息卡片右上角“...”管理消息时,或者在小程序设置管理中的订阅消息管理页面内管理消息时,相应的行为事件会推送至开发者所配置的服务器地址。(目前只推送取消订阅的事件,即对消息设置“拒收”)**

# XML 格式示例

1610969440

# JSON 格式示例

{

"ToUserName": "gh_123456789abc",

"FromUserName": "o7esq5OI1Uej6Xixw1lA2H7XDVbc",

"CreateTime": "1610968440",

"MsgType": "event",

"Event": "subscribe_msg_change_event",

"SubscribeMsgChangeEvent": [ {

"TemplateId":"BEwX0BOT3MqK3Uc5oTU3CGBqzjpndk2jzUf7VfExd8",

"SubscribeStatusString": "reject"

}],

}

# 参数说明

参数 说明 ToUserName 小程序帐号ID

FromUserName 用户openid

CreateTime 时间戳

TemplateId 模板id(一次订阅可能有多个id)

SubscribeStatusString 订阅结果(reject拒收)

**3、调用订阅消息接口发送消息给用户的最终结果,会推送下发结果事件至开发者所配置的服务器地址。**

# XML格式示例

1610969468

1700827132819554304

0

# JSON 格式示例

{

"ToUserName": "gh_123456789abc",

"FromUserName": "o7esq5PHRGBQYmeNyfG064wEFVpQ",

"CreateTime": "1620963428",

"MsgType": "event",

"Event": "subscribe_msg_sent_event",

"SubscribeMsgSentEvent": {

"List": {

"TemplateId": "BEwX0BO-T3MqK3Uc5oTU3CGBqzjpndk2jzUf7VfExd8",

"MsgID": "1864323726461255680",

"ErrorCode": "0",

"ErrorStatus": "success"

}

}

}

# 参数说明

参数 说明 ToUserName 小程序帐号ID

FromUserName 用户openid

CreateTime 时间戳

TemplateId 模板id(一次订阅可能有多个id)

MsgID 消息id(调用接口时也会返回)

ErrorCode 推送结果状态码(0表示成功)

ErrorStatus 推送结果状态码对应的含义

注意:失败仅包含因异步推送导致的系统失败

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php生成pdf中文断码_Rmarkdown导出中文PDF解决方案

Rmarkdown非常适合R语言使用者导出格式漂亮的文档,但是输出中文PDF的过程中会遇到各种麻烦的问题,本文整理了我的经验供大家参考。总的来说,通过Rmarkdown输出中文版pdf报告,要解决以下两个核心问题:导出PDF需要配置Te…

分数的大小比较优秀教案_人教版小学数学五年级下册异分母分数加、减法公开课优质课课件教案视频...

教学案例-《异分母分数加减法》教学目标:1.借助直观图形,在操作、观察、比较、的活动中理解异分母分数加减法的算理,掌握计算方法,并能正确进行计算。2.渗透转化、迁移的数学思想,积累研究分数问题的数学活动经验。3.能…

docker给容器分配固定ip

1.为 Docker 容器设置一个固定的 IP 地址 要为 Docker 容器设置一个固定的 IP 地址,有几种常见的方法: 使用自定义网络和静态 IP 地址: 你可以创建一个自定义的 Docker 网络,并在这个网络上为容器分配静态 IP 地址。首先&#x…

分号可以用来分段么_更高效的GMX分段模拟方法:修改tpr文件

■2020-11-01 22:42:18在以前的一篇文章中, 我简单说过基于GROMACS的分段模拟方法[1]. 这种方法非常通用, 几乎能完成任意的功能, 且无须修改源代码, 但是运行效率比较差, 因为每次运行mdrun都要重新生成tpr文件. 对大分子来说, 使用grompp生成tpr还是很耗时的, 可能会成为运行…

java list拷贝_深入了解浅拷贝与深拷贝

在学习深拷贝和浅拷贝之前&#xff0c;咱们先来一个例子&#xff1a;import java.util.ArrayList;public class MyBaby implements Cloneable {/*** 私有变量*/private ArrayList<String> list new ArrayList<>();Overrideprotected Object clone() throws CloneN…

吗 极域软件可以装win10_关于win10企业版在极域电子教室软件 v4.0 2015 豪华版的全屏控制下如何取得自由...

注.可能因为系统和软件的缘故无法实现背景由于在听课过程过于自闭&#xff0c;于是想自己去网上搜点东西看下于是 经过了一番乱搞 逐渐摸索出了现方法。方案1:大力出奇迹由于电脑在刚刚进入的状态的时候有段时间是断网的并且该鬼畜的学生端可以通过任务资源管理器直接退所以可以…

python怎么启动mne_mne-python学习之一 入门介绍

mne-python脑电图和肌电图是一个开源软件分析、处理和显示。遵循bsd许可协议,由哈佛大学和共同开发的社区。主要功能包括:预处理和脑电图\/梅格信号的去噪,源估计、时频分析、统计测试,功能连接,机器学习,可视化的传感器、来源等外资支持最常见的原始数据格式。默认的(和附带的…

dcdc升压计算器excel_DC/DC升压转换器MAX8815A

DC&#xff0f;DC升压转换器MAX8815A佚名【摘要】MAX8815A具有97&#xff05;的最高效率、3OuA低静态电流以及低噪声强制PWM工作模式。该boost转换器专为2节NiMH&#xff0f;NiCdAA电池或单节Li&#xff0b;电池输入设计&#xff0c;可从1&#xff0e;2&#xff5e;5&#xff0…

python类怎么实例化rnn层_Python backend.rnn方法代码示例

本文整理汇总了Python中keras.backend.rnn方法的典型用法代码示例。如果您正苦于以下问题&#xff1a;Python backend.rnn方法的具体用法&#xff1f;Python backend.rnn怎么用&#xff1f;Python backend.rnn使用的例子&#xff1f;那么恭喜您, 这里精选的方法代码示例或许可以…

vscode删除文件夹,VSCode:删除文件中的所有注释

Is there an easy way to delete all comments from an open file in VSCode? Preferably both line and block comments.Most interested in Java, but also Python and R.解决方案Easy way:Open extensions (ctrl-shift-x)type in remove comments in the search box.Instal…

放大镜_屏幕放大镜怎么样使用方法

首先&#xff0c;打开控制面板&#xff0c;然后找到并单击“显示”&#xff0c;然后启动放大镜。放大镜的放大倍率基于原始屏幕&#xff0c;而不是矢量放大倍率。有关放大镜的详细操作&#xff0c;请单击帮助按钮&#xff0c;其中有特定说明。捷径一&#xff1a;win 可以快速调…

python清空语句_怎么清除python编译器的语句

清除python编辑器的方法&#xff1a;1、下载清屏函数clearwindow.py&#xff0c;然后复制clearwindow.py文件&#xff0c;并放在Python安装目录PythonXLibidlelib下面2、在Python XLibidlelib目录下找到config-extensions.def(IDLE扩展的配置文件)&#xff0c;用记事本打开&…

mysql字段是否存在_Mysql判断表字段或索引是否存在

判断字段是否存在&#xff1a;DROP PROCEDURE IF EXISTS schema_change;DELIMITER //CREATE PROCEDURE schema_change() BEGINDECLARE CurrentDatabase VARCHAR();SELECT DATABASE() INTO CurrentDatabase;IF NOT EXISTS (SELECT * FROM information_schema.columns WHERE tabl…

mysql取消主键_mysql如何删除主键?

当一个表中设置了主键之后&#xff0c;如果想要删除主键了要怎么做&#xff1f;下面本篇文章就给大家介绍MySQL删除主键的方法&#xff0c;希望对你们有所帮助。首先我们来看看删除主键的语法&#xff1a;ALTER TABLE TABLE_NAME DROP PRIMARY KEY;在MySQL中删除主键要考虑两种…

mysql 备份 windows_windows mysql 自动备份的几种方法

基于之前的文章方法&#xff0c;加入批处理命令即可实现自动备份。只是由于批处理命令中对于备份文件的名字按照时间命名比较特别&#xff0c;所以特别整理一文。1、复制date文件夹备份假想环境&#xff1a;MySQL 安装位置&#xff1a;C:\MySQL论坛数据库名称为&#xff1a;b…

mysql长事务慢查询解决方案_MySQL : 如何监控和处理慢查询与长事务 ?

什么是慢查询、长事务 &#xff1f;慢查询 是指一条 SQL 的执行时间太长。比如在一个有100w条数据的表中&#xff0c;查询一条数据时未命中索引&#xff0c;从而通过全表扫描查询数据&#xff0c;这个查询会耗时很长。这就是一个 Long SQL 。类似&#xff0c;更新数据、删除数据…

mysql身份验证失败_SMTP身份验证失败PAM-MySQL无法进行身份验证

我正在使用Postfix构建邮件服务器,并设置身份验证以使用Postfixadmin检查数据库设置.我可以通过Courier IMAP进行身份验证,因为它可以正确地验证哈希密码,但我怀疑我的SASL PAM-MySQL SMTP身份验证机制不能.我在/var/log/mail.log中收到这些错误&#xff1a;pam_unix(smtp:auth…

二级数据库access和mysql_二级数据库access和mysql

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

mysql 从库可以写入吗_mysql主从库配置读写分离以及备份

1&#xff0c;什么是读写分离&#xff1f;其实就是将数据库分为了主从库&#xff0c;一个主库用于写数据&#xff0c;多个从库完成读数据的操作&#xff0c;主从库之间通过某种机制进行数据的同步&#xff0c;是一种常见的数据库架构。一个组从同步集群&#xff0c;通常被称为是…

用程序同步mysql数据库表_初次用Java写了个数据库表同步工具

介绍java 程序编写&#xff0c;真正跨平台。传入一定的参数&#xff0c;即可在相同或不同的数据库间进行表的同步&#xff0c;包括表结构的同步及数据的同步。作业由调度工具进行调度&#xff0c;比如 moia&#xff0c;本项目旨在提供一种数据库间表同步的通用工具。目前项目 d…