厂商通道推送限制及消息分类最佳实践

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

由于各厂商通道有不同的推送限制,以及部分厂商会对消息进行分类管理,导致实际推送时,会出现推送失败的情况,为避免因推送限制导致推送失败,建议您了解各厂商推送限制,并且对部分厂商的应用申请符合厂商平台要求的消息分类。本文为您提供各厂商通道推送限制及消息分类的最佳实践。

各厂商推送限制及消息分类概览

厂商

消息类型

每日推送总量限制

单设备接受数量限制

其他限制

华为

服务与通讯类消息

不限量

不限量

  1. 使用消息分类进行管理

  2. 需申请自分类权益

  3. 每天向单设备单应用发送超过3000条则超过3000条的将被限流丢弃24小时

  4. 华为的 Channel 作为自定义通知渠道展示消息提醒方式,不用作消息分类

  5. QPS限制,支持QPS提升申请

资讯营销类消息

不限量

新闻类(三级分类为新闻类):5 条

其他类:2 条

荣耀

服务与通讯类消息

不限量

不限量

  1. 使用消息分类进行管理

  2. 荣耀不支持自定义通知渠道 Channel

  3. QPS限制,QPS提升暂不开放申请

资讯营销类消息

不限量

新闻类(三级分类为新闻类):5 条

其他类:2 条

小米

私信消息

不限量

不限量

  1. 使用消息分类进行管理

  2. 私信消息需提交申请

  3. 管理后台支持额度查询

  4. 小米的Channel 用作消息分类

  5. 应用上架推送权限限制

  6. QPS提升暂不开放申请

公信消息

应用在MIUI上安装且通知开启数x倍数。默认倍数为2倍

单个应用单个设备单日 5-8 条

默认

1 倍

单个应用单个设备单日 1 条

OPPO

通讯与服务/旧版私信消息

不限量

不限量

  1. 使用消息分类进行管理

  2. 通讯与服务(原私信消息)需申请;

  3. 新消息分类使用强提醒功能需申请

  4. 管理后台支持额度查询

  5. 新消息分类方式不支持自定义通知渠道 Channel;OPPO 的 Channel 用作旧版消息分类

  6. QPS提升暂不开放申请

内容与营销/旧版公信消息

累计用户数<10000,总量按20000/日计算;累计用户数≥10000,总量=累计用户数*2/日

新闻类(三级分类为新闻类):5 条

其他应用类型:2 条。

vivo

系统消息

3 倍通知开启有效用户数

不限量

  1. 使用消息分类进行管理

  2. 系统消息不限量可以单独申请

  3. 新闻类应用量频权限申请

  4. 有推送时间限制规则

  5. 每日剩余推送量可查询

  6. vivo不支持自定义通知渠道 Channel

  7. 应用上架推送权限限制

  8. QPS提升暂不开放申请

运营消息

新闻类(三级分类为新闻类):3 倍通知开启有效用户数

其他类:2 倍通知开启有效用户数

新闻类(三级分类为新闻类):5 条

其他类:2 条

魅族

/

/

>4条会被折叠

  1. 未使用消息分类进行管理

  2. 支持QPS提升申请

Google

/

/

/

  1. 未使用消息分类进行管理

  2. QPS提升暂不开放申请

鸿蒙

服务与通讯类消息

不限量

与资讯营销消息、其他场景化消息合计不超过应用每日可向每设备发送的最大消息数量3000条。

  1. 使用消息分类进行管理

  2. 需申请自分类权益

  3. 每天向单设备单应用发送超过3000条则超过3000条的将被限流丢弃24小时

  4. 走阿里云在线,需创建通知渠道。

资讯营销类消息

不限量

新闻类(需具备《互联网新闻信息服务许可证》):5 条

其他类:2 条

APNs

/

/

/

  1. 未使用消息分类进行管理

  2. QPS提升暂不开放申请

华为

推送限制

推送数量限制

根据推送数量管理细则,华为设计了消息分类制度来管理不同类别的通知数量。资讯营销类消息的每日推送数量自2023年01月05日起根据应用类型进行上限管理,服务与通讯类消息每日推送数量不受限制:

消息类型

单日推送总量限制

单应用单用户单日接收数量限制

服务与通讯类消息

不限量

不限量

资讯营销类消息

不限量

新闻类(需具备《互联网新闻信息服务许可证》):5 条

其他类:2 条

重要

华为于2023年9月15日实行新规:不论app在线还是离线,所有通知都会受华为手机系统的管控,管控方式包括发送通知的条数上限以及通知弹出的方式,详见:华为推送服务管控新规及适配

推送速率QPS限制

QPS = APP应用在华为渠道的MAU × 应用类别权重 × 整体分配系数。

  • MAU:月活跃用户人数。

  • 应用类别权重:如果没在华为应用市场发布,按Default分类,该类别权重系数为 1。

  • 整体分配系数:是计算QPS需要的一个系数,这个系数不固定,会动态调整,QPS值不需要您自己计算,在AppGallery Connect上可以查看,华为FAQ文档中有说明查询方法。

  • 如您的应用通过QPS公式计算所得的值不足6000,将执行默认6000的QPS;如全网流量较高时,也会出现系统级流控。其他说明参见消息管控类问题

可以联系华为官方调整QPS,申请邮件:hwpush@huawei.com

消息分类

根据消息分类标准,华为推送服务将通知消息分为资讯营销、服务与通讯两大类别。

消息分类说明

一、特定消息类型

  1. 开发者按照华为自分类权益申请 文档中的申请流程申请适合自己的 category 参数,可申请多个。

  2. 华为通道当前有两个自分类权益参数:importance 参数和 category 参数。

  • importance:消息提醒方式,NORMAL 表示重要消息LOW 表示一般(静默)消息

  • category:分为云端通知 category本地通知 category,具体取值如下表所示:

    • 对于云端通知 category 和 本地通知 category 都有值:您只需申请云端通知 category 取值。推送结果:app在线时走阿里通道送达,app离线时走华为通道送达。

    • 对于云端通知 category 取值为“不涉及”,本地通知 category 有值:只需申请本地通知 category 取值,只走阿里云自有通道。

    • 对于本地通知 category 取值为“不支持”,云端通知 category 有值:只需申请云端通知 category 取值,只走华为通道。

消息大类

消息二类

消息类型

云端通知category取值

本地通知category取值

消息提醒方式

服务与通讯类

社交通讯

即时聊天

IM

CATEGORY_MESSAGE

消息提醒方式为锁屏+铃声+震动;importance 取值:NORMAL,表示重要消息。

音频、视频通话

VOIP

CATEGORY_CALL

服务提醒

订阅

SUBSCRIPTION

不支持

出行

TRAVEL

CATEGORY_NAVIGATION

健康

HEALTH

不支持

工作事项提醒

WORK

CATEGORY_REMINDER

账号动态

ACCOUNT

不支持

订单&物流

EXPRESS

不支持

财务

FINANCE

CATEGORY_SERVICE

设备提醒

DEVICE_REMINDER

不支持

邮件

MAIL

CATEGORY_EMAIL

闹钟/计时器

不涉及

CATEGORY_ALARM

秒表

不涉及

CATEGORY_STOPWATCH

进度

不涉及

CATEGORY_PROGRESS

位置共享

不涉及

CATEGORY_LOCATION_SHARING

资讯营销类

内容资讯

内容推荐

MARKETING

CATEGORY_RECOMMENDATION

消息提醒方式为静默通知,仅在下拉通知栏展示;importance 取值:LOW,表示一般(静默)消息。

新闻

财经动态

生活资讯

调研

其他

社交动态

CATEGORY_SOCIAL

营销活动

产品促销

MARKETING

CATEGORY_PROMO

功能推荐

运营活动

二、高优先级透传场景

需要在华为平台申请,详见申请特殊权限,category取值:VOIP:音视频通话、PLAY_VOICE:语音播报。

消息分类使用

  1. 使用前提:已完成Android SDK接入,并完成华为辅助通道集成

  2. 华为自分类权益申请好之后,使用EMAS控制台或OpenAPI进行分类消息推送。

EMAS控制台推送方式

使用EMAS控制台推送服务进行通知推送时,在厂商设置-通知通道及通知分类中,勾选华为通道,并选择对应的消息类型。

image.png

OpenAPI推送方式

调用推送高级接口时传入对应参数:

  • AndroidMessageHuaweiCategory:对应华为通道自分类权益的“云端通知 category 取值”或“本地通知 category 取值”

  • AndroidNotificationHuaweiChannel:对应华为通道自分类权益的 importance 参数。

  • 推送时一般只需传 AndroidMessageHuaweiCategory 参数,若您希望服务与通讯类消息按照静默方式(无铃声振动)发送,可以在上述要求的基础上,添加 importance 字段且传值为 LOW。

其他设置

发送测试消息

1)调用推送高级接口时,设置如下参数:

  • AndroidHuaweiTargetUserType = 1;直接推送即可,每个应用每日可发送500条测试消息且不受每日推送数量上限要求。

image.png

  • AndroidTargetUserType=1;本参数配置后等价于同时配置 AndroidHuaweiTargetUserType、AndroidHonorTargetUserType、AndroidVivoPushMode 三个参数。

image.png

2)使用EMAS控制台推送服务进行通知推送时,在厂商设置中,关闭华为通道的生产通知

image.png

荣耀

推送限制

推送数量限制

根据消息分类标准,荣耀推送服务将通知消息分为资讯营销、服务与通讯两大类别,具体消息限制数量见下表:

消息类型

单日推送总量限制

单应用单用户单日接收数量限制

服务与通讯类

不限量

不限量

资讯营销类

不限量

新闻类(三级分类为新闻类):5 条

其他类:2 条

推送速率QPS限制

QPS=3000。

荣耀暂不开放提升申请。

消息分类

为了提升终端用户的推送体验、荣耀推送服务将对推送消息进行分类管理。见:荣耀消息分类标准

说明

2024年12月31日前,应用需要登录荣耀开发者服务平台申请自分类权益,对推送服务消息进行分类管理。

若应用没有自分类权益,或应用有自分类权益但推送消息未携带importance字段,应用的推送消息将自动归类为资讯营销消息。

消息分类说明

  1. 荣耀推送服务将根据应用类型、消息内容和消息发送场景,将推送消息分成服务通讯(NORMAL)资讯营销(LOW),两大类别,对应的分类参数为importance

  2. 根据消息分类,不同类别的消息有不同的限制、提醒方式、消息样式和importance取值,具体如下:

消息类型

importance取值

提醒方式

服务通讯类

NORMAL

锁屏展示+下拉通知栏展示 支持铃声、震动

资讯营销

LOW

静默通知,仅在下拉通知栏展示

  1. 荣耀推送服务针对消息分类有2种处理方式:

  • 消息智能分类

    • 智能算法将根据APP类型和消息内容等维度,自动将您的消息按照分类标准进行归类。

  • 消息自分类

    • 允许开发者根据消息分类规范,自行对消息进行分类,申请方式参见自分类权益申请

    • 目前,所有消息默认通过消息自分类方式进行分类处理,随着荣耀推送服务能力的不断补充和演进,分类方式也会逐渐更新与升级,具体参见荣耀消息分类标准

消息分类使用

  1. 使用前提:已完成Android SDK接入,并完成荣耀辅助通道集成

  2. 荣耀自分类权益申请好之后,使用EMAS控制台或OpenAPI进行分类消息推送。

EMAS控制台推送方式

使用EMAS控制台推送服务进行通知推送时,在厂商设置-通知通道及通知分类中,勾选荣耀通道,并选择对应的消息类型。

  • 选择资讯营销类消息时,importance取值为LOW,默认展示方式为静默通知仅在下拉通知栏展示

  • 选择服务与通讯类消息时,importance取值为NORMAL,默认展示方式为锁屏展示+下拉通知栏展示

image.png

OpenAPI推送方式

调用推送高级接口时传入对应参数:

  • AndroidNotificationHonorChannel 字段值为 LOW 时,表示消息为资讯营销类,默认展示方式为静默通知,仅在下拉通知栏展示。

  • AndroidNotificationHonorChannel 字段值为 NORMAL 时,表示消息为服务通讯类,默认展示方式为锁屏展示+下拉通知栏展示。

其他设置

发送测试消息

1)调用推送高级接口时,设置如下参数:

  • AndroidHonorTargetUserType = 1;直接推送即可,每个应用每日可发送500条测试消息且不受每日推送数量上限要求。

image.png

  • AndroidTargetUserType=1;本参数配置后等价于同时配置 AndroidHuaweiTargetUserType、AndroidHonorTargetUserType、AndroidVivoPushMode 三个参数。

image.png

2)使用EMAS控制台推送服务进行通知推送时,在厂商设置中,关闭荣耀通道生产通知

image.png

小米

推送限制

推送数量限制

根据《小米推送消息分类新规》,2023年2月1日起小米推送将按照本新规中的消息分类正式运行,消息分为私信消息公信消息两个类别,若应用选择不接入私信或公信,则会接入默认通道。

消息类型

单日推送总量限制

单应用单用户单日接收数量限制

默认

1倍

1条

公信消息

具备《互联网新闻信息服务许可证》:3倍

其他:2倍

具备《互联网新闻信息服务许可证》:8条

其他:5条

私信消息

不限量

不限量

说明
  • 公信消息单日可推送总量的计算公式:应用在MIUI上安装且通知开启数x倍数。默认倍数为2倍,具备《互联网新闻信息服务许可证》的应用为3倍,通知开启数小于10000的按10000计数。

  • 应用在MIUI上安装且通知开启的定义:用户已激活应用且主动开启了总消息通知的开关。

  • 单日推送限额数以送达量计算,当日送达量超限则会计入管控。

推送速率QPS限制

小米推送对推送速率(QPS)的分配主要依据App的通知开关开启数进行分级计算。

QPS:表示1秒可调用的请求数;1个请求里最多可以携带1000个目标设备。例如:3000QPS时,1秒内最多可推送300万设备。

不同量级的通知开关开启设备数分配不同的QPS:

通知开关开启数

QPS

≥1000万

3000

≥500万且<1000万

2500

≥100万且<500万

2000

≥10万且<100万

1000

<10万

500

小米暂不开放QPS提升申请。

应用上架限制

小米需要上架之后才能开启推送服务。

消息分类

如果推送数量不够用,建议您优化推送策略,如消息内容中有符合私信消息的内容,可以申请和接入私信消息,接入后该类消息将不受限制。

重要

小米通道单个应用最多可申请 8 个 channel,请提前做好规划。

消息分类说明

根据《小米推送消息分类新规》,小米推送将消息分为私信消息公信消息两个类别,若应用选择不接入私信或公信,则会接入默认通道

如果您有增加消息量的需要,比如有大量用户因收不到消息而投诉,您也可以向小米推送申请增加消息量级,申请方式请参见小米消息量申诉

消息分类使用

  1. 使用前提:已完成Android SDK接入,并完成小米辅助通道集成

  2. 小米自分类消息申请好之后,会自动为您申请的消息分类生成对应的channel_id。您可以使用EMAS控制台和OpenAPI进行分类消息推送。

EMAS控制台推送方式

使用EMAS控制台推送服务进行通知推送时,在厂商设置-通知通道及通知分类中,勾选小米通道,并填写申请channel审核通过的channel_id,不填则为默认通道。

image.png

OpenAPI推送方式

调用 推送高级接口时候填入对应参数:

  • AndroidNotificationXiaomiChannel 对应您在申请消息分类通过后得到的channel_id值

  • AndroidNotificationXiaomiChannel 不填则为默认通道

OPPO

推送限制

为提升用户通知体验,持续维护良好推送生态,OPPO PUSH对消息推送数量、推送速率QPS进行统一管理。若推送数量或QPS超过限制,OPPO 平台会限制推送,并通过消息回执返回错误信息,建议按照推送限制规定进行消息推送,参见OPPO 推送服务受限说明

推送数量限制

OPPO 推送权限分为正式权限和测试权限,消息分为通讯与服务内容与营销两个类别,若应用未接入新消息分类则为原私信公信,具体限制如下:

推送权限

消息分类

应用类别

单日推送总量限制

单应用单用户单日接收数量限制

正式权限(应用已上架OPPO软件商店)

通讯与服务(原私信消息)

/

不限量

不限量

内容与营销(原公信消息)

新闻类(三级分类为新闻类)

累计用户数<10000,总量按20000/日计算;累计用户数≥10000,总量=累计用户数*2/日;

5条

其他应用类型

2条

测试权限

(应用未上架OPPO软件商店)

通讯与服务(原私信消息)

/

不支持

内容与营销(原公信消息)

/

1000

2条

说明
  1. 累计用户计算:接入推送服务的app客户端,近30天用户安装并激活且开启了通知总开关的累计用户量,去除已卸载用户数。在OPPO推送运营平台可查询,每日更新。

  2. 应用未上架 OPPO 软件商店,需申请测试权限,并添加测试设备发送测试消息

  3. 已申请正式推送权限的应用也可在推送运营平台-配置管理-测试设备添加设备,向设置的测试设备发送测试消息进行测试,将不受单设备推送条数限制规则规定的限制推送数量。

推送速率QPS限制

OPPO 推送根据应用累计用户量级划分不同的QPS限制速度。

QPS定义:(Quantity per second)表示1秒可推送的OPPO PUSH的用户数,例如针对应用维度,3000QPS表示1秒内本应用最多可推送给3000个用户(所有接口共享应用维度限速上限总值)。

累计用户数

QPS值

≥1000万

5000

≥500万且<1000万

3000

<500万

2000

消息分类

OPPO 目前有新旧两种消息分类方式,在11月20日之前新开启 OPPO 推送的应用可自主选择接入新消息分类方式或原有自建通道方式;11月20日开始新开启 OPPO 推送的应用仅能使用新消息分类能力,不再支持原有自建通道,配置消息时必须携带新的消息分类字段才能下发成功。

如果推送数量不够用,建议您优化推送策略,根据消息类型,申请开通新消息分类/私信通道权限,走新消息分类/私信下发,提升内容与营销/公信通道的使用效率。

新版消息分类

OPPO 推送对消息发送通道和消息分类进行调整优化,于2024年10月31日推出新版消息分类接入方式。

新版消息分类说明

根据OPUSH消息分类细则,OPPO 新版消息分类将通知分类为通讯与服务、内容与营销两个大类别,若不接入通讯与服务类,则默认为内容与营销类,不同类别消息明确发送的通道、内容、发送量级和提醒方式,具体如下:

消息大类

消息类型

category取值

消息提醒方式

notify_level取值说明

通讯与服务

即时聊天、音频、视频通话

IM

默认为:通知栏、锁屏; 可升级为:通知栏、锁屏、横幅、铃声、震动;此为强提醒方式(需申请,申请方式详见:强提醒申请)。

  1. 提醒方式为默认:通知栏+锁屏时,取值为2;

  2. 提醒方式为:通知栏+锁屏+横幅+震动+铃声时,取值为16。

个人账号与资产变化

ACCOUNT

个人设备提醒

DEVICE_REMINDER

个人订单/物流状态变化

ORDER

个人日程/待办

TODO

个人订阅

SUBSCRIPTION

内容与营销

新闻资讯

NEWS

仅下拉通知栏展示。

取值为1。

内容推荐

CONTENT

平台活动

MARKETING

社交动态

SOCIAL

OPPO 新版消息分类申请:

  1. 使用新版消息分类能力,需要您在OPPO推送平台开启新消息分类能力,详见消息分类细则中的3. 新消息分类接入流程,开启后默认遵循新消息分类形式进行消息推送,请您评估确认后再开启。

  2. 不接入通讯与服务类,则默认为内容与营销,无需申请

  3. 若有通讯与服务消息类别发送诉求,则走线上权限申请,详见:消息分类细则中的4.1默认提醒申请,申请通过后OPPO平台会自动增加通讯与服务消息类别,默认提醒方式为通知栏、锁屏;如果之前已开通旧版私信通道权限,则无需再申请。

  4. 若接入通讯与服务消息分类,还有强提醒诉求,可以根据规则和需求进行消息分类细则中的4.2强提醒申请,强提醒方式为:通知栏、锁屏、横幅、铃声、震动,强提醒方式会对用户造成一定程度打扰,请谨慎申请及使用

重要

OPPO 新消息分类能力当前支持系统版本OS13及以上,后续会逐步向OS12及以下覆盖。

新版消息分类使用
  1. 使用前提:已完成Android SDK接入,并完成OPPO辅助通道集成

  2. 在 OPPO 新版消息分类权限申请通过后,支持使用 OpenAPI 进行新版分类消息推送,建议同时填写AndroidMessageOppoCategory和原有旧版通道 ID,来兼顾低版本用户的触达

OpenAPI推送方式

调用推送高级接口时填入对应的参数:

  • AndroidMessageOppoCategory:对应OPPO新版消息分类的 category 参数取值。

  • AndroidMessageOppoNotifyLevel(可选):对应OPPO新版消息分类的 notify_level 参数取值,使用 AndroidMessageOppoNotifyLevel 参数时,必须同时传入 AndroidMessageOppoCategory 参数。

旧版通道消息分类

旧版通道消息分类说明

根据原OPPO消息分类说明,OPPO 将消息分为私信消息和公信消息两类,若应用未接入消息分类,将默认为公信消息,受公信消息规则管控。私信通道推送量和接收量均无限制。

消息类型

配置方式

取值

私信消息

APP端创建通道、并且邮件申请通过后,在OPPO推送平台上登记该通道,保持一致性,并将通道对应属性设置为“私信”

AndroidNotificationChannel设置为通道ID

公信消息

默认开通

/

私信申请步骤:

  1. 请参照安卓8.0通知通道设置中的创建通道部分,先在app侧代码创建通知通道的时候指定通道ID,并将创建了该通道的app上线发版。

  2. 给OPPO发邮件申请设置该通道为私信通道,请参见 OPPO 邮件私信模板发送邮件。

  3. OPPO 推送平台上登记该通道,并将通道对应属性设置为“私信”。

重要
  • 通道 ID 一旦确定下来不能随意变更或删除

  • 创建私信通道时,留意一下Channel适配的注意事项 。

  • 私信通道在客户端创建发版OPPO推送平台登记完毕且邮件申请私信权益审核通过后,私信通道权限才会生效

  • 安卓8.0通知通道设置中创建通道的代码示例中有一些特性设置,比如设置震动,设置声音等。这些设置仅针对安卓8.0以上的通知通道生效,OPPO离线通道的这些特性需要参考自定义通知样式相关接口进行设置。

旧版通道消息分类使用
  1. 使用前提:已完成Android SDK接入,并完成OPPO辅助通道集成

  1. 在OPPO私信通道权限生效后,支持使用EMAS控制台和OpenAPI进行分类消息推送。

EMAS控制台推送方式

使用EMAS控制台推送服务进行通知推送时,进行如下设置:

  1. 厂商设置-通知通道及通知分类中,勾选OPPO通道

  2. 推送设置中,若填写通道ID,离线走OPPO私信通道;若不填写通道ID,离线默认走OPPO公信通道。

image.png

OpenAPI推送方式

调用推送高级接口时传入AndroidNotificationChannel参数,该参数有两个含义:

  • app在线时走阿里在线通道,AndroidNotificationChannel代表客户端创建的通知通道

  • app离线时走OPPO厂商通道,AndroidNotificationChannel参数代表您申请的OPPO私信通道。

vivo

推送限制

每日推送数量限制

根据推送消息限制说明,vivo推送将消息分为系统消息运营消息两大类别,未接入消息分类,将默认为运营消息,不同类别有不同的限制:

消息分类

应用类别

总推送数量限制

单用户接收数量限制

系统消息

/

3倍通知开启有效用户数

(可申请消息不限量权限)

无限制

运营消息

新闻资讯类

(具备《互联网新闻信息服务许可证》,且应用分类为“新闻资讯”,申请方式:新闻类应用量频权限申请

3倍通知开启有效用户数

5条

其他类

2倍通知开启有效用户数

2条

测试消息

vivo平台审核中的应用,推送权限为“受限”,只能通过API向测试设备发送测试消息,测试设备数量上限为20个,测试消息不受量级和频控限制。

说明
  1. 通知开启的有效用户:应用集成vivo通道,且设备近14天内有联网的通知权限开启用户。

  2. 通知开启有效用户数<10000,则运营消息量级默认为10000。

  3. 通知开启的有效用户数及可发送运营消息量级,可在vivo推送运营后台查询。

  4. 推送限额数以到达量计算,当日到达量超限则计入管控。

应用上架限制

应用没有上架应用市场,推送权限会显示受限,不支持发送正式消息,支持对测试设备发送测试消息进行推送。

应用已上架应用市场,推送权限显示为正式的应用,支持发送正式消息,也支持向测试设备推送测试消息。

推送时间限制

为避免造成用户打扰,目前vivo手机接收的消息为7:00-23:00,服务器允许推送时间为7:00-23:00,系统消息不受此时间限制(在允许时间之外发送的运营消息,将返回错误码10071,且不会再下发)。

推送内容限制

1.“测试”消息纯英文纯数字限制

为避免开发者调试时,将测试消息误发送给用户,接口做了内容限制。

注:测试消息和正式消息采用相同的规则,测试字样包括中文“测试”及英文“test”

系统消息

运营消息

消息二级分类为“IM”

消息二级分类非“IM”

无内容限制

以下内容将被拦截

纯符号

符号+数字

“测试”字样+符号

“测试”字样+数字

“测试”字样+符号+数字

JSON格

以下内容将被拦截

纯数字

纯符号

符号+数字

“测试”字样+符号

“测试”字样+数字

“测试”字样+符号+数字

JSON格式

(注:测试字样+中文可发)

2.重复运营消息拦截限制

vivo 平台不允许推送重复运营消息,请您尽量避免1个自然日内圈选重复人群发送同一个文案。

客户端去重机制:1个自然日内,同一台设备收到重复运营消息文案,客户端会进行去重拦截。(系统消息不受此限制)

推送速率QPS限制

vivo 推送 QPS 根据通知开启的有效用户数自动调整,默认最低 3000/秒,最高 5000/秒。

QPS定义:表示1秒内最多可推送的用户数。例如:3000 QPS时, 1秒内最多可推送3000用户,换算为单推:一秒最多调用3000次接口;换算为列表推:若一次推送100用户,一秒最多调用30次接口。

通知开启的有效用户数

推送速度

0-500W

3000

500W-800W

4000

800W以上

5000

消息分类

根据《推送消息分类说明》,vivo推送将消息分为系统消息运营消息两大类别;未接入消息分类,将默认为运营消息,受运营消息规则管控

消息分类说明

一级分类:

  • 系统消息、运营消息这两大类别均无需申请,但是必须确保您推送的内容符合vivo对分类消息的定义

  • vivo会日常巡检,禁止通过系统消息通道发送运营消息,如发现推送内容不符合对应场景的,会进行严格处罚,参看vivo运营监管及处罚

  • 应用系统消息默认数量为3倍通知开启有效用户数,若数量无法满足需求,可通过vivo工单系统申请系统消息不限量

  • 申请系统不限量权限,需提前接入消息二级分类,提供相应信息,平台将根据消息分类评估。其中,“订阅提醒”类消息请先完成系统消息归档,再申请系统消息不限量权限,参看vivo推送服务工单操作指南

二级分类:

  • 若下表消息二级分类中,存在符合您应用推送场景的分类,则可以直接使用;若消息属于订阅类消息,需要通过工单系统申请系统消息归档申请,参看vivo推送服务工单操作指南

  • 若下表消息二级分类中,无符合您应用推送场景的分类,则需要给vivo团队发邮件申请特殊分类参数,申请通过后才能使用。

消息一级分类

一级分类取值

消息二级分类

二级分类取值

消息提醒方式

系统消息

AndroidNotificationVivoChannel:0

即时消息

IM

悬浮,锁屏,响铃,震动。

账号与资产

ACCOUNT

日程待办

TODO

设备信息

DEVICE_REMINDER

订单与物流

ORDER

订阅提醒

SUBSCRIPTION

运营消息

AndroidNotificationVivoChannel:1

新闻

NEWS

无,仅在下拉通知栏时展示。

内容推荐

CONTENT

运营活动

MARKETING

社交动态

SOCIAL

消息分类使用

  1. 使用前提:已完成Android SDK接入,并完成vivo辅助通道集成

  2. vivo 分类消息申请好之后,支持使用EMAS控制台和OpenAPI进行分类消息推送。

EMAS控制台推送方式

使用EMAS控制台推送服务进行通知推送时,在厂商设置-通知通道及通知分类中,勾选vivo通道,并选择对应的消息类型。

image.png

OpenAPI推送方式

调用推送高级接口时传入对应参数:

  1. AndroidNotificationVivoChannel,对应一级分类标准,取值 0:运营类消息(默认),取值 1:系统类消息

  2. AndroidMessageVivoCategory,对应二级分类标准,请按照消息分类规则填写,且必须大写。

重要

建议只传 AndroidMessageVivoCategory 一个值,不传 AndroidNotificationVivoChannel 参数。若您 AndroidNotificationVivoChannel 参数也传入了值,则必须保证 AndroidMessageVivoCategory 传的值与其是正确的对应关系,否则会报错。

其他设置

发送测试消息

1)调用推送高级接口时,设置如下参数:

  • AndroidVivoPushMode = 1;直接推送即可,每个应用每日可发送500条测试消息且不受每日推送数量上限要求。

image.png

  • AndroidTargetUserType=1;本参数配置后等价于同时配置 AndroidHuaweiTargetUserType、AndroidHonorTargetUserType、AndroidVivoPushMode 三个参数。

image.png

2)使用EMAS控制台推送服务进行通知推送时,在厂商设置中,关闭vivo通道生产通知

image.png

魅族

推送限制

魅族推送未对推送消息进行分类管理,但是对单个业务推送有限制,具体规则见下:

  1. 单个业务推送有速率限制,默认app是 10000设备/10秒;订阅标签个数需<=100个;单业务每天推送上限1000次/天。

  2. API 创建任务推送限制,默认10000 次/天。

  3. 单个设备单个业务推送消息⼤于等于 4 条会被折叠展⽰,Flyme 10 以下的系统版本会将多次不点击的消息收纳于右上⻆消息收纳盒。

  4. 单个设备 30 天不活跃,将取消订阅。

推送速率QPS限制

默认QPS=200;可以联系魅族官方调整QPS,申请邮件:push_support@meizu.com

Google

推送限制

Google 通道不区分消息类型,但是单个应用或单台设备有限制,具体限制如下:

单个应用

1,500,000 条 / 分钟

单台设备

1000 条 / 分钟

通道限制

谷歌消息服务已彻底弃用Firebase Cloud Messaging API旧版(原谷歌云消息传递,简称:GCM),若您需要通过谷歌通道下发推送,请使用最新的Firebase Cloud Messaging(简称:FCM) API HTTP v1 版推送通道,集成方式详见:Google推送通道集成

警告

若您仍在使用旧版GCM通道下发通知,消息将不再被谷歌通道受理,建议您立即升级,升级方法可参考:Firebase通道升级指南

鸿蒙

为了改善终端用户推送体验、营造良好可持续的通知生态,鸿蒙对通知消息进行分类管理。根据鸿蒙通知消息分类标准,鸿蒙将通知消息分类为服务与通讯、资讯营销两大类别,不同类别在鸿蒙通道有不同的接收数量限制,具体限制如下:

消息类型

推送总量限制

单用户接受数量限制

服务与通讯类

不限量

与资讯营销消息、其他场景化消息合计不超过应用每日可向每设备发送的最大消息数量3000条。

资讯营销类

不限量

新闻类(需具备《互联网新闻信息服务许可证》):5 条

其他类:2 条

消息分类说明

鸿蒙允许开发者自行对通知消息进行分类,未申请消息分类时,鸿蒙默认您推送的是资讯营销类消息,受消息推送数量限制:

  1. 开发者按照鸿蒙申请通知消息自分类权益文档中的申请流程申请适合自己的 category 参数,可申请多个。

  2. 鸿蒙通道当前的通知消息自分类权益参数 category 的取值和对应的消息提醒方式如下表所示:

消息大类

消息二类

消息类型

category取值

消息提醒方式

服务与通讯类

社交通讯

即时聊天

IM

消息提醒方式为锁屏+铃声+震动。

音频、视频通话

VOIP

服务提醒

订阅

SUBSCRIPTION

出行

TRAVEL

健康

HEALTH

工作事项提醒

WORK

账号动态

ACCOUNT

订单&物流

EXPRESS

财务

FINANCE

设备提醒

DEVICE_REMINDER

邮件

MAIL

资讯营销类

内容资讯

财经动态

MARKETING

消息提醒方式为静默通知,仅在下拉通知栏展示。

生活资讯

调研

其他

内容推荐

新闻

社交动态

营销活动

功能推荐

运营活动

产品促销

消息分类使用

  1. 使用前提:已进行HarmonyOS SDK接入,并且已接入厂商通道

  2. 鸿蒙自分类权益申请好之后,支持使用EMAS控制台和OpenAPI进行分类消息推送。

EMAS控制台推送方式

使用EMAS控制台移动推送服务进行鸿蒙应用的通知推送时,在鸿蒙设置中,选择对应的通知消息分类。

image.png

OpenAPI推送方式

调用推送高级接口时传入对应参数。

  • HarmonyCategory:对应鸿蒙通道的 category 参数取值。

阿里云在线自有通道推送消息

设备在线时走的是阿里云通道,通知方式受鸿蒙通知渠道管控,对应的通知渠道参数为SlotType,具体取值和说明如下:

SlotType

分类

取值

渠道说明

SOCIAL_COMMUNICATION

社交通信

1

表示通知功能已启用,状态栏中显示通知图标,有横幅和提示音。

SERVICE_INFORMATION

服务提醒

2

表示通知功能已启用,状态栏中显示通知图标,没有横幅但有提示音。

CONTENT_INFORMATION

内容资讯

3

表示通知功能已启用,但状态栏中不显示通知图标,且没有横幅或提示音。

CUSTOMER_SERVICE

客服消息

5

该类型用于用户与商家之间的客服消息,需由用户主动发起。

表示通知功能已启用,且状态栏中显示通知图标,但没有横幅或提示音。

OTHER_TYPES

其他

0xFFFF

表示通知功能已启用,但状态栏中不显示通知图标,且没有横幅或提示音。

  1. 使用前提:已进行HarmonyOS SDK接入

  2. 开发者在鸿蒙端侧创建通知渠道,参看鸿蒙开发步骤

  3. 创建完成后,支持使用EMAS控制台和OpenAPI进行分类消息推送:

    1. EMAS控制台推送方式

      • 使用EMAS控制台选择阿里云在线通知渠道进行推送时,在鸿蒙设置中,选择对应的通知渠道类型。

      image.png

    2. OpenAPI推送方式

      • 调用推送高级接口时传入对应参数:HarmonyNotificationSlotType,对应上表中SlotType的取值。

其他设置

发送测试消息

1)调用推送高级接口时,配置HarmonyTestMessage=true,单个项目最多可推送1000条测试消息。

image

2)使用EMAS控制台推送服务进行鸿蒙应用通知推送时,在鸿蒙设置中,启用测试消息

image.png

更多建议

一、app设计

建议在app中增加引导用户订阅通知和引导打开推送开关的功能,并申请自分类权益,以提高通知触达率。

  • 对消息要进行分类,避免重要消息占用非重要消息的Quota,或重要消息被收纳进非重要消息列表里。

  • 对一些本属于非重要消息的,考虑是否能转为用户主动的订阅。

  • 非拉活场景下,减少非活跃用户的发送量,避免无效触达带来总量浪费。

二、消息设计

良好的运营和适量的推送可以避免过分打扰用户导致用户关闭通知权限。

  • 对消息要进行分类,避免重要消息占用非重要消息的Quota,或重要消息被收纳进非重要消息列表里。

  • 对一些本属于非重要消息的,考虑是否能转为用户主动的订阅。

  • 非拉活场景下,减少非活跃用户的发送量,避免无效触达带来总量浪费。

通过用户主动订阅实现更高配额

推送过多的运营消息(比如资讯营销类消息、公信),容易触及厂商通道单设备每日推送的数量上限,而系统消息(比如服务与通讯消息、私信等)则没有数量限制。为了实现单设备更多的推送条数,需要合理分类,尽量推送系统消息,节约运营消息的数量额度,因此建议在app研发中考虑用户主动订阅的机制。 各厂商通道对用户订阅的要求如下:

厂商通道

分类名称

OpenAPI调用参数

厂商文档中的场景说明

华为

服务于通讯类 →服务提醒 →订阅

AndroidMessageHuaweiCategory=SUBSCRIPTION

用户主动订阅的内容并确认会收到推送(订阅仅开放以下场景,其他场景不支持申请)。

  • 主动设置的单场直播开播提醒、预约活动提醒。

  • 主动设置的签到打卡提醒。

  • 主动设置的商品降价提醒。

注意 申请订阅类消息需要满足以下所有条件并提供完整截图证明:

  1. 应用内支持用户“订阅”和“取消订阅”(用户界面需要至少出现“订阅”或“预约”等字样;“订阅”和“取消订阅”按钮需在同一页面,“取消订阅”按钮不可隐藏)。

  2. 订阅是用户的主动行为,订阅按钮需默认关闭(在用户未订阅的情况下,不向用户推送消息)。

  3. 用户的订阅或关注不等同于用户允许接收订阅推送,“订阅”和“是否接收订阅推送”需要有互相独立且默认关闭的开关(例:订阅之后弹窗询问用户是否接收该订阅的通知栏推送)。

  4. 订阅消息的范围不宜过于宽泛、不具体(错误示例:订阅行情资讯、兴趣标签等,则过于宽泛、不具体)。

  5. 推送内容中需要体现该条推送是用户的订阅消息(例:在消息标题或正文中携带“订阅消息”、“您订阅的xx”等字样)。

荣耀

服务通讯类 →服务提醒 →订阅

AndroidNotificationHonorChannel=NORMAL

用户自主订阅的内容和设置的活动提醒。

  • 主动订阅的专题内容、预约活动提醒、主动设置的直播开播提醒、书籍更新。

  • 设置的商品或机票降价、商品开团提醒。

  • 主动关注的行情动态提醒。

  • 主动设置的签到打卡提醒。

  • 付费订阅内容更新提醒等。

推送内容中需要体现该条推送是用户主动的订阅消息。例如:在消息标题或正文中携带“订阅消息”、“您订阅的……”等字样。 注意

  • 订阅是用户的主动行为,在用户未订阅的情况下,不向用户推送消息。

小米

私信消息 →个人订阅

AndroidNotificationXiaomiChannel

用户主动订阅:关注的行情动态提醒;关注的主播开播提醒、特别关注的账号/作者发布动态;付费订阅内容更新提醒等。

注意

申请订阅类消息需要满足如下条件并提供完整证明:

  1. 应用内支持用户“订阅/取消订阅”,用户界面需要至少出现“订阅”或“预约”等字样。

  2. 订阅是用户的主动行为,在用户未订阅的情况下,不向用户推送消息。

  3. 用户订阅后,应用内用户界面有明确提示,用户将收到订阅相关的推送消息。例如:您将收到xx消息推送。

  4. 订阅消息的范围不宜过于宽泛、不具体。例如:订阅行情资讯,则过于宽泛、不具体。

OPPO

新版消息分类→

个人订阅

AndroidMessageOppoCategory=SUBSCRIPTION

用户在APP内主动设置的提醒信息并确认会收到推送,如: 1、主动设置的开播提醒、书籍更新; 2、设置的商品或机票降价、商品开团提醒; 3、主动关注的行情动态提醒; 4、主动设置的签到打卡提醒; 5、付费订阅内容更新提醒等。 注意

申请该类消息需要满足如下条件并提供完整证明: 1、应用内支持用户“订阅/取消订阅”,用户界面需要至少出现“订阅”或“预约”等字样; 2、订阅是用户的主动行为,在用户未订阅的情况下,不向用户推送消息; 3、用户订阅后,应用内用户界面有明确提示,用户将收到订阅相关的推送消息。例如:您将收到xx消息推送; 4、订阅消息的范围不宜过于宽泛、不具体。例如:订阅行情资讯,则过于宽泛、不具体;

旧版私信消息 →个人手动关注的某个主题内容更新

AndroidNotificationChannel

  1. 用户在App内主动设置的提醒信息并确认会收到推送,如:主动设置的开播提醒、书籍更新;

  2. 设置的商品或机票降价、商品开团提醒;主动关注的行情动态提醒;主动设置的签到打卡提醒;付费订阅内容更新提醒等。

注意:

  • 关注的主播开播提醒、特别关注的账号/作者发布动态才属于重要消息,普通关注的账号/作者发布动态不属于重要消息。

  • 被赞、被@、关注、转发、评论、回复等社交互动类消息属于普通消息,不属于重要消息,但用户对商家的点评提醒、老师对学生作业的评论提醒除外。

vivo

系统消息→订阅提醒

AndroidMessageVivoCategory=SUBSCRIPTION

用户主动订阅,并有预期在特定时机接收到的消息:

  • 主动订阅的专题内容、主动预约的活动、主动设置的直播开播、主动关注的书籍更新等消息提醒;

  • 主动设置的商品或机票降价、商品开团消息提醒;

  • 主动关注的行情动态消息提醒;

  • 主动设置的签到打卡消息提醒;

  • 付费订阅的内容更新消息提醒等。

注意

申请订阅类消息需要满足如下条件并提供完整证明,完成系统消息归档:

  1. 应用内支持用户“订阅/取消订阅”,用户界面需要至少出现“订阅”、“预约”或“关注”等字样。

  2. 订阅是用户的主动行为,在用户未订阅的情况下,不向用户推送消息。

  3. 用户订阅时,应用内用户界面有明确提示,用户将收到订阅相关的推送消息。例如:您将收到xx消息推送(提示含有“消息”、“通知”或“推送”)。

  4. 订阅消息的范围不宜过于宽泛、不具体。例如:订阅行情资讯,则过于宽泛、不具体。

  5. 推送内容中需要体现该条推送是用户的订阅消息。例如:在消息标题或正文中携带“订阅消息”、“您订阅的……”、“您预约的......”、“您关注的......”等字样

鸿蒙

服务于通讯类 →服务提醒 →订阅

HarmonyCategory=SUBSCRIPTION

用户主动订阅的内容并确认会收到推送(订阅仅开放以下场景,其他场景不支持申请)。

  • 主动设置的单场直播开播提醒、预约活动提醒。

  • 主动设置的签到打卡提醒。

  • 主动设置的商品降价提醒。

注意

申请订阅类消息需要满足以下所有条件并提供完整截图证明:

  1. 应用内支持用户“订阅”和“取消订阅”(用户界面需要至少出现“订阅”或“预约”等字样;“订阅”和“取消订阅”按钮需在同一页面,“取消订阅”按钮不可隐藏)。

  2. 订阅是用户的主动行为,订阅按钮需默认关闭(在用户未订阅的情况下,不向用户推送消息)。

  3. 用户的订阅或关注不等同于用户允许接收订阅推送,“订阅”和“是否接收订阅推送”需要有互相独立且默认关闭的开关(例:订阅之后弹窗询问用户是否接收该订阅的通知推送)。

  4. 订阅消息的范围不宜过于宽泛、不具体(错误示例:订阅行情资讯、兴趣标签等,过于宽泛、不具体)。

  5. 推送内容中需要体现该条推送是用户的订阅消息(例:在消息标题或正文中携带“订阅消息”、“您订阅的xx”等字样)。

从各厂商通道的要求可以总结出:

  1. app中需要体现用户主动订阅,并提供退订功能,订阅时需提示用户会收到推送,而不是简单的“关注”文案;

  2. 订阅内容不可过于宽泛,需要进行分类;

  3. 推送的通知内容要体现出订阅的特征文案。

用活跃度推送代替全推

鉴于部分厂商通道对运营消息的推送总量有限制,以及节约推送费用考量,不建议进行大范围的推送。这里提供一种按照活跃度推送的方法,整体思路是对每个设备活跃度用标签进行标记,推送时向对应标签进行推送。

  1. app打开时,查询当前设备的标签,判断是否打上当前的活跃度标签,如:tag202403(标签名中带有年月信息,也可以按周来打,但是按天要注意标签表达式里的数量限制);

  2. 如果app没有打上当前活跃度标签,则打当前的活跃度标签。

  3. 服务器端调用推送接口时,用标签表达式圈定目标设备,如:TargetValue={"and": [{"tag": "tag202402"}, {"tag": "tag202403"}]}。

    4为避免标签数量过多,定期对过早的标签进行删除,如:每月删除24个月前的活跃度标签。