OPPO 推送集成指南
概述
统一推送联盟 成立之后,各大厂商都推出了自己的推送服务通道,主要目的是为了建立 Android 推送生态。目前小米,华为,魅族,OPPO,vivo 等厂商都推出了系统级别的推送通道,避免了各家 APP 都使用各自的长链接来维持推送通道、需要应用进程处于存活状态,而造成手机耗电、耗内存等问题。
开发者使用 ZIM 提供的“离线推送”功能之前,请参考本文,接入 OPPO 厂商的离线推送通道。
前提条件
在接入 OPPO 的离线推送通道之前,请确保:
- 已集成最新版本的 ZIM SDK,详情请参考 快速开始 - 实现基本收发消息。
- 已完成如下步骤:
- 前往 OPPO 开放平台 注册企业开发者账号,并进行认证,详情请参考 开发者帐号注册流程。
- 开发者身份认证成功后,使用 OPPO 企业开发者账号,登录 OPPO 开放平台,选择 “管理中心 > 应用服务平台 > 开发服务 > 消息推送 > 创建新的应用”,创建一个新的应用。
- 开通推送权限,流程请参考 OPPO 官方文档 推送服务开启指南。
- 申请通过后,可在 OPPO 推送平台 > 配置管理 > 应用配置页面查看 AppKey、AppSecret 和 MasterSecret(仅开发者账号(主账号)可查看)。

使用步骤
OPPO 推送消息限制
OPPO 推送服务将消息推送通道分为两种,公信和私信,具体限制数量规则如下,详情请参见 OPPO 官网文档 推送服务受限说明。
应用推送总量限制
| 通知栏推送权限 | 应用要求 | 消息推送量(条/日) | ||
|---|---|---|---|---|
| 消息推送通道 | 累计用户数 | 可推送总量 | ||
| 正式权限 | 应用已上架 OPPO 软件商店 | 内容与营销(原公信消息) | <10000 | 20000 |
| ≥10000 | 累计用户数 × 2 | |||
| 通讯与服务(原私信消息) | 不限量 | |||
| 测试权限 | 应用未上架 OPPO 软件商店 | 消息推送通道 | 可推送总量 | |
| 内容与营销(原公信消息) | 1000 | |||
| 通讯与服务(原私信消息) | 不支持 | |||
单设备推送条数限制
| 应用类别 | 单用户推送限制(条/日) | |
|---|---|---|
| 内容与营销(原公信消息) | 通讯与服务(原私信消息) | |
| 新闻类(三级分类为新闻类) | 5条 | 不限量 |
| 其他应用类型 | 2条 | 不限量 |
使用私信通道不限量推送
-
您需要通过创建私信通道,才能无限制地向 OPPO 设备推送消息,详情请参考 OPPO 官网文档 创建私信通道。
注意邮件申请完成后,您需要在 OPPO 推送平台上登记该通道,并将通道对应属性设置为“私信”。
-
完成上述申请后,请参考 resourcesID 说明 - 配置,在 ZEGO 控制台上使用如下信息配置 resourcesID:
resourcesID:由您自定义,不超过 32 个字符。channel_id:渠道 ID。
说明建议
resourcesID能够直接反映推送目的。例如,目的是打电话,就可以命名为call_resource。 -
在发起推送时,可以指定使用该 Resource ID 对应的通道进行推送。您需要将配置的 Resource ID 填写到 ZIMPushConfig 中,实现代码请参考 实现离线推送 - 发送单聊消息时使用离线推送功能。
根据 OPPO 消息分类新规申请消息分类
根据 OPUSH 消息分类细则,OPPO 推出了新的消息分类,即“通讯与服务” 和 “内容与营销”,老版本私信通道将逐步被废弃。具体说明如下:
| 通讯与服务 | 内容与营销 | |
|---|---|---|
| 定义范围 |
| 开发者主动向用户发送的对内容或产品推广的通知 |
| 推送内容方向 |
| 内容推荐、平台活动、社交动态等; |
| 提醒方式 |
| 仅下拉通知栏展示 |
| 推送量级说明 | 发送量级和接收量级均不限。 | 限制每日推送量级与单用户接收条数,具体参考:推送服务受限说明 |
-
请参考 OPUSH 消息分类细则 中的 【通讯与服务】通道权限申请说明,申请通讯与服务消息类别。
-
完成上述申请后,请参考resourcesID 说明 - 配置,在 ZEGO 控制台上使用如下信息配置 resourcesID:
resourcesID:由您自定义,不超过 32 个字符。category:消息类别。notify_level:(可选)通知栏消息提醒等级。
说明建议
resourcesID能够直接反映推送目的。例如,目的是打电话,就可以命名为call_resource。 -
在发起推送时,可以指定使用该 Resource ID 对应的通道进行推送。您需要将配置的 Resource ID 填写到 ZIMPushConfig 中,实现代码请参考 实现离线推送 - 发送单聊消息时使用离线推送功能。
-
根据 OPUSH私信模版校验能力接入说明,OPPO 在新消息分类的基础上新增了推送私信模版。当您在 OPPO 控制台配置好私信模版后,如需在推送时应用对应模版,可在 ZIMPushConfig 为 privateMessageTemplate 赋值。
ZIMOfflinePushPrivateMessageTemplate template = new ZIMOfflinePushPrivateMessageTemplate();
//OPPO 推送私信模板 ID,下发对应私信模板时必须携带。如果resourceID 中 OPPO 的 category 设置分类为内容与营销,则此字段无效。
template.templateID = "";
//json 字符串, OPPO 推送标题模板填充参数。例:私信模板 ID 标题模板为:欢迎来到$ {city} $ ,$ {city} $ 欢迎您。此参数内容为:"{"city":"北京"}"
template.titleParameters= "";
//json 字符串,OPPO 推送内容模板填充参数。例:私信模板 ID 对应的内容模板为:欢迎$ {userName} $ 来到$ {city} $ 。此参数内容为:"{"userName":"汤姆","city":"深圳市"}"
template.contentParameters = "";
zimPushConfig.privateMessageTemplate = template;
