集成 OPPO 推送
概述
统一推送联盟
成立之后,各大厂商都推出了自己的推送服务通道,主要目的是为了建立 Android 推送生态。目前小米,华为,魅族,OPPO,vivo 等厂商都推出了系统级别的推送通道,避免了各家 APP 都使用各自的长链接来维持推送通道、需要应用进程处于存活状态,而造成手机耗电、耗内存等问题。
前提条件
在接入 OPPO
的离线推送通道之前,请确保:
- 已集成最新版本的音视频通话 UIKit(Call Kit),并且完成在线邀请功能,详情请参考 快速开始(包含呼叫邀请)。
- 已完成如下步骤:
使用步骤
-
在项目的根目录下的 “bulid.gradle” 文件中,添加 maven 仓库。
Untitledmaven { url 'https://maven.columbus.heytapmobi.com/repository/releases/' credentials { username 'nexus' password 'c0b08da17e3ec36c3870fed674a0bcb36abc2e23' } }
1 -
在此文件中,添加 maven 依赖。
Untitledimplementation 'com.heytap.msp:push:3.0.0'
1 -
以上配置完成后,请前往 ZEGO 控制台,点击“项目管理”,选择需要配置的项目,查看“项目配置”。在“服务配置 - 即时通讯 - 离线推送证书配置” 中 “点击添加证书”,如下图所示(针对每个 Android 厂商,您至多可以添加两个证书):
Note图中字段“Project ID” 为您在各厂商申请的参数,根据每个厂商不一样。
添加完成后,您可以在“离线推送证书配置”模块看到该证书,还可以再次编辑或删除该证书。
-
防止混淆代码
在 “proguard-rules.pro” 文件中,为 OPPO 推送 SDK 添加 -keep 类的配置,这样可以防止混淆 OPPO 推送 SDK 公共类名称:
Untitled-keep public class * extends android.app.Service -keep class com.heytap.msp.** { *;}
1
OPPO 推送消息限制
OPPO 推送服务将消息推送通道分为两种,公信和私信,具体限制数量规则如下,详情请参见 OPPO 官网文档 推送服务受限说明。
应用推送总量限制
通知栏推送权限 | 应用要求 | 消息推送量(条/日) | ||
---|---|---|---|---|
消息推送通道 | 累计用户数 | 可推送总量 | ||
正式权限 | 应用已上架 OPPO 软件商店 | 公信 | <50000 | 100000 |
≥50000 | 累计用户×2 | |||
私信 | 不限量。 | |||
测试权限 | 应用未上架 OPPO 软件商店 | 消息推送通道 | 可推送总量 | |
公信 | 1000 | |||
私信 | 不支持申请。 |
单设备推送条数限制
应用类别 | 单用户推送限制(条/日) | |
---|---|---|
公信消息 | 私信消息 | |
新闻类(三级分类为新闻类) | 5条 | 不限量。 |
其他应用类型 | 2条 | 不限量。 |
使用私信通道不限量推送
-
您需要通过创建私信通道,才能无限制地向 OPPO 设备推送消息,详情请参考 OPPO 官网文档 创建私信通道(需要 OPPO 审核)。
-
请登录 ZEGO 控制台,添加 resourceID,步骤如下:
-
选择项目管理,查看对应的项目。
-
选择 服务配置- 即时通讯 页面,下滑到“自定义推送策略(resourcesID)配置,点击“添加 resourceID”。
-
提供
resourceID
(由您自定义,不超过 32 个字符)、channel_id
(渠道 ID)。Note建议 resourceID 能够直接反映推送目的。例如,目的是打电话,就可以命名为
call_resource
。
-
-
在发起呼叫时,可以指定使用该 Resource ID 对应的通道进行推送。您需要将配置的 Resource ID 填写到对应的呼叫邀请按钮中或者设置给呼叫邀请接口,即可在呼叫邀请的时候使用离线推送功能。