Integrate OPPO Push Notifications
Follow this guide to integrate the OPPO Push Client. The RC SDK supports receiving push notifications from the OPPO Push Service.
- Not all OPPO devices support OPPO Push. Currently, OPPO Push is supported on OPPO devices running ColorOS 3.1 or later, OnePlus 5/5T or newer models, and all realme devices. For details, refer to the OPPO Push Service documentation Business Function Usage Issues.
- On OPPO devices that do not support OPPO Push, the default RC push service will be used.
Before integrating third-party push services, ensure you have configured the Android Application ID in the RC Console. See Push Integration Overview.
Configuring OPPO Push in the RC Console
To receive push notifications from RC's IM service via OPPO Push, you need to provide your OPPO Push application details in the RC Console.
-
Obtain push credentials (including AppKey, AppSecret, and MasterSecret) from the Configuration Management > Application Configuration section in the OPPO Push Operations Platform.
tip- If you do not have an OPPO developer account, have not created an application, or have not enabled push service permissions, first create an account, set up an application, and enable push service permissions on the OPPO Developer Platform. Refer to the OPPO developer documentation Push Service Activation Guide.
- OPPO requires enterprise developer registration to enable push services. For details, see OPPO Enterprise Developer Account Registration Process.

OPPO push credentials are used as follows:
- AppKey: The identity identifier for the OPPO application. Used by both the client and when configuring OPPO Push in the RC Console.
- AppSecret: Used when integrating the OPPO Push SDK into the client.
- MasterSecret (i.e., AppServerSecret): Used when configuring OPPO Push service credentials in the RC Console.
-
Open the RC Console, navigate to Application Identifier, click Configure Push, locate Android > OPPO Push, and enter the App Key and Master Secret obtained in the previous step.
-
(Optional) Configure the Push Notification Title. Set the default push notification title. Generally, this title setting is not used when converting client messages to push notifications. When calling RC server APIs (
/push.json,/push/user.json,/push/custom.json) to send push notifications, if no title is provided, the title configured here will be used. For messages sent from the server, if the sender's user ID does not have a username registered on the RC server, this "Push Notification Title" will also be used. -
Configure the Push Channel Type. According to OPPO's official developer documentation: To improve end-user notification experience and maintain a sustainable push ecosystem, OPPO Push imposes limits on the number of push messages per app. However, instant messaging/system alert push requirements can apply for a private channel (which has no quantity limits).
tipBy default, the RC server uses OPPO's public push channel, which has daily push limits. Once the daily quota is exhausted, no further pushes can be sent that day. The current daily limit is: Total registered users × 2. To use the unlimited private push channel, refer to the OPPO documentation Private Push Channel Application. After approval, return to the RC Console and enter the private channel's channel ID.
-
Save the settings. All configurations take effect after 15 minutes.
You have now completed all necessary OPPO Push configurations in the RC Console. Proceed to set up client integration.
Configuring the Client to Receive OPPO Push
Add dependencies to your app's build.gradle and configure the OPPO_APP_KEY and OPPO_APP_SECRET.
android {
defaultConfig {
//...
manifestPlaceholders = [
OPPO_APP_KEY : "xxxxxxxx",
OPPO_APP_SECRET: "xxxxxxxx"
]
}
}
dependencies {
// x.y.z represents the current IM SDK version
implementation 'cn.rongcloud.sdk.push:oppo:x.y.z'
}
For permission requirements, refer to OPPO's official developer documentation SDK Data Security Guidelines.
Enabling OPPO Push Service
Before initializing the SDK, call the following code to initialize the RongPushPlugin module.
RongPushPlugin.init(getContext());
If the RongPushPlugin module cannot be found, verify that you have integrated RC's built-in push channel.
Obfuscation Configuration
If your app uses obfuscation, apply the following obfuscation rules:
-keep public class * extends android.app.Service
-keep class com.heytap.msp.** { *;}
Handling Push Notification Click Events
- Customizing Push Notification Click Events: Learn how to implement the SDK's default redirection behavior or customize click event handling. See Customizing Push Notification Click Events.
- Customizing Push Notification Styles: Notifications received from third-party vendors are system-level notifications displayed directly by the OS. Therefore, custom styling is not supported.
FAQs
Receiving OPPO Push requires users to enable notification permissions for the app on their OPPO devices. Since RC push is app-level, it is subject to various system restrictions. We recommend enabling auto-start permissions, notification permissions, or marking the app as "trusted" in settings to improve delivery rates.
OPPO Push currently only supports notification bar messages. Messages are delivered to the OS system module and displayed by the system notification module. The app does not launch until the user clicks the notification.
Since not all OPPO devices support OPPO Push, the service is only used on compatible devices. Incompatible OPPO devices will fall back to RC's default push.
For other OPPO Push-related issues, refer to OPPO's official developer documentation under Technical Issues and Business Function Usage Issues in the "Common FAQs" section.