推送服务概述
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);