react-native-rich-notification
Version:
集成Android各厂商推送服务,只支持Android端使用
114 lines (100 loc) • 2.2 kB
TypeScript
/**
* 推送服务配置信息
*/
export type ConfigInfo = {
appId?: string;
appKey?: string;
appSecret?: string;
};
/**
* 初始化配置信息
*/
export type InitPushConfig = {
/**
* 华为可不传
*/
huawei?: ConfigInfo;
/**
* oppo需要appkey,appsecret
*/
oppo?: ConfigInfo;
/**
* 魅族需要appid,appsecret
*/
meizu?: ConfigInfo;
/**
* 荣耀不用传,需要在AndroidManifest.xml配置appid即可
*/
honor?: ConfigInfo;
vivo?: ConfigInfo;
xiaomi?: ConfigInfo;
};
/**
* 手机的厂商推送服务注册信息
*/
export type DeviceRegisterInfo = {
/**
* device brand
*/
brand: string;
/**
* register or token
*/
data: string;
};
/**
* 初始化推送服务接口回调信息
*/
export type initPushCallback = {
status: number;
msg: string;
};
/**
*
*/
interface getRegisterIdCallback {
(callback: DeviceRegisterInfo): void;
}
/**
* 初始化推送回调方法
*/
interface initPushCall {
(callback: initPushCallback): void;
}
export default class RichNotification {
/**
* 监听点击通知栏消息回调事件,在点击通知栏消息后会触发
* @param callback
*/
static addNotificationTapListener(callback): React.EmitterSubscription;
/**
* 监听华为透传消息
* @param callback
*/
static addHuaweiRemoteMessageListener(callback): React.EmitterSubscription;
/**
* 移除监听事件
* @param listener
*/
static removeListener(listener: React.EmitterSubscription);
/**
* 获取本机在本厂商推送的设备注册ID或者是设备token
* 不同厂商叫法不一样
* @param callback
*/
static getRegisterId(callback: getRegisterIdCallback);
/**
* 初始化推送服务, 必须先初始化后再调用其它方法
* 不同厂商需要不同的参数,不用都传
* @param appId 厂商平台注册的appid
* @param appKey 厂商平台注册的appKey
* @param appSecret 厂商平台注册的appSecret
* @param callback 结果回调
*/
static initPush(config: InitPushConfig, callback?: initPushCall);
/**
* 设置角标
* @param badge 0即清除
*/
static setBadge(badge: number);
}