跳到主要内容

推送服务概述

React Native 仅封装了设置推送参数的接口,推送功能依赖 Android、iOS 平台的推送能力。

集成推送功能

请参考 Android、iOS 端的推送文档进行集成。

设置 Android 第三方推送

所属类:RCIMEngine

方法:create(appKey: string, options: RCIMIWEngineOptions)

RCIMIWEngineOptions 说明

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;
}

代码示例

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

    #import <RongIMWrapper/RongIMWrapper.h>

    - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    [RCIMIWEngine setDeviceToken:deviceToken];
    }
  • 方案二:通过 React Native 提供的接口设置 deviceToken。请在引擎初始化前进行设置。

    engine.setDeviceToken(deviceToken);