跳到主要内容

集成 OPPO 推送

按照本指南集成OPPO 推送客户端,融云 SDK 支持从 OPPO 推送服务收取推送。

提示
  • 并非所有的 OPPO 手机都支持 OPPO 推送。OPPO 推送目前支持 ColorOS 3.1 及以上的系统的OPPO的机型,一加5/5t及以上机型,realme 所有机型。详见 OPPO 推送服务文档 业务功能使用问题
  • 在不支持 OPPO 推送的 OPPO 手机上会使用融云默认推送。

在集成第三方推送前,请确保已在融云控制台配置 Android 应用 ID。详见推送集成概述

在融云控制台配置 OPPO 推送

如果想通过 OPPO 推送接收融云即时通讯服务的推送通知,您需要在融云控制台上提供您的 OPPO 推送应用的详细信息。

  1. 前往 OPPO 推送运营平台配置管理 > 应用配置中获取推送凭证,包括 AppKeyAppSecretMasterSecret

    提示
    • 如果没有 OPPO 开发者账号,或尚未创建应用,或尚未开启推送服务权限,请先在 OPPO 开发者平台上创建账号、应用并开启推送服务权限。详见 OPPO 开发者文档推送服务开启指南
    • OPPO 要求开启推送服务需要注册成为 OPPO 企业开发者,详情请参考 OPPO企业开发者帐号注册流程

    (width=600)

    OPPO 推送凭证用途如下:

    • AppKey:OPPO 应用的身份标识。客户端以及在融云控制台配置 OPPO 推送时均需使用。
    • AppSecret:客户端集成 OPPO 推送 SDK 时使用。
    • MasterSecret(即 AppServerSecret):在融云控制台配置 OPPO 推送服务凭证时使用。
  2. 打开融云控制台,在应用标识页面点击设置推送,找到 Android > OPPO 推送,填入上一步获取的 App KeyMaster Secret

    (height=400)

  3. (可选)配置推送通知标题。设置默认的推送通知标题。一般情况下客户端发送消息转 Push 时不使用此标题设置。在调用融云服务端 API /push.json/push/user.json/push/custom.json 接口推送通知时,如未传入通知标题,则使用该处设置的标题。从服务端发消息时,如果发送用户 ID 在融云服务端没有用户名,也会使用此 “推送通知标题”。

  4. 配置推送通道类型。OPPO 官方开发者文档说明如下:为了改善终端用户的通知体验,营造良好可持续的推送生态,OPPO推送对各个APP的push消息数量进行了限量管控;同时针对即时聊天/系统提醒等push需求可以申请走私信通道(该通道不限量)。

    提示

    融云服务端默认使用的是 OPPO 公信推送通道,单日推送消息次数受限,总的推送次数用完后,当日将无法再给用户推送内容。目前单日推送数量为:累计注册用户数*2。如需使用不受推送数量限制的私信推送通道,可参考 OPPO 文档推送私信通道申请。申请私信通道完成后,请返回融云控制台填入私信推送通道的 channel Id。

  5. 保存设置。所有设置 30 分钟后生效。

您已完成需要融云控制台 OPPO 推送配置的全部内容。现在可以设置客户端集成。

配置客户端接收 OPPO 推送

在 App 的 build.gradle 中添加依赖,并配置 oppo 的 OPPO_APP_KEYOPPO_APP_SECRET

android {
defaultConfig {
//...
manifestPlaceholders = [
OPPO_APP_KEY : "xxxxxxxx",
OPPO_APP_SECRET: "xxxxxxxx"
]
}
}
dependencies {
// x.y.z 为当前 IM SDK 版本号
implementation 'cn.rongcloud.sdk.push:oppo:x.y.z'
}

关于权限要求的说明,可参见 OPPO 官方开发者文档 SDK 数据安全说明

启用 OPPO 推送服务

在 SDK init 之前,调用下面代码,初始化 RongPushPlugin 模块。

RongPushPlugin.init(getContext());

如果找不到 RongPushPlugin 模块,请检查是否已经集成融云自建推送通道

混淆配置

如果您的应用使用了混淆,您可以使用下面的代码混淆配置:

-keep public class * extends android.app.Service
-keep class com.heytap.msp.** { *;}

处理推送通知的点击事件

  • 自定义推送通知点击事件:介绍如何实现 SDK 的默认跳转行为,以及如何自定义处理点击事件。详见自定义推送通知点击事件
  • 自定义推送通知样式:SDK 接收到其他第三方厂商的推送后,弹出的通知是系统通知,由手机系统底层直接弹出通知,所以不支持自定义。

常见问题

接收 OPPO 推送需要用户的 OPPO 手机开启应用的通知权限。由于融云推送属于应用级别的推送,会受系统各种权限限制,我们建议您在使用时,在设置里打开自启动权限和通知权限,或者勾选“信任此应用”等,以提高推送到达率。

OPPO推送暂时只支持通知栏消息的推送。消息下发到 OS 系统模块并由系统通知模块展示,在用户点击通知前,不启动应用。

由于并非所有的 OPPO 手机都支持 OPPO 推送,所以仅在支持 OPPO 推送的 OPPO 手机上使用 OPPO 推送,在不支持 OPPO 推送的 OPPO 手机上使用融云默认推送。

关于 OPPO 推送服务的其他问题,建议参考 OPPO 官方开发者文档「常见 FAQ」中技术问题业务功能使用问题