推送服务概述
React Native 仅封装了设置推送参数的接口,推送功能依赖 Android、iOS 平台的推送能力。
集成推送功能
请参考 Android、iOS 端的推送文档进行集成。
设置 Android 第三方推送
所属类:RCIMEngine
方法:create(appKey: string, options: RCIMIWEngineOptions)
RCIMIWEngineOptions 说明
TypeScript
export interface RCIMIWPushOptions {
    /**
     * 小米推送 Id
     */
    idMI?: string;
    /**
     *  小米推送 appKey
     */
    appKeyMI?: string;
    /**
     * 魅族推送 Id
     */
    appIdMeizu?: string;
    /**
     * 魅族推送 appKey
     */
    appKeyMeizu?: string;
    /**
     * Oppo 推送 appKey
     */
    appKeyOPPO?: string;
    /**
     * Oppo 推送 appSecret
     */
    appSecretOPPO?: string;
    /**
     * 是否开启华为推送
     */
    enableHWPush?: boolean;
    /**
     * 是否开启 FCM 推送
     */
    enableFCM?: boolean;
    /**
     * 是否开启 Vivo 推送
     */
    enableVIVOPush?: boolean;
}
代码示例
TypeScript
let options: RCIMIWEngineOptions = {};
let pushOptions: RCIMIWPushOptions = {
    idMI: 'xxx',
    appKeyMI: 'xxx',
    appIdMeizu: 'xxx',
    appKeyMeizu: 'xxx',
    appKeyOPPO: 'xxx',
    appSecretOPPO: 'xxx',
    enableHWPush: true,
    enableFCM: true,
    enableVIVOPush: true,
};
options.pushOptions = pushOptions;
let engine = RCIMIWEngine.create(appKey, options);
设置 iOS deviceToken
您可以按照 iOS 端推送文档进行配置。注意,在设置 deviceToken 时,必须使用以下两种方案之一,否则无法上报 deviceToken 导致无法收到推送。
提示
必须在建立 IM 连接之前(调用 connect 方法)设置 deviceToken。
- 
方案一:在 iOS 原生层设置
deviceToken。Objective C#import <RongIMWrapper/RongIMWrapper.h>
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[RCIMIWEngine setDeviceToken:deviceToken];
} - 
方案二:通过 React Native 提供的接口设置
deviceToken。请在引擎初始化前进行设置。TypeScriptengine.setDeviceToken(deviceToken);