react-native-aliyun-onesdk
Version:
React Native Aliyun OneSDK(notification)
43 lines (35 loc) • 1.26 kB
JavaScript
import {
NativeModules,
DeviceEventEmitter,
NativeEventEmitter,
Platform,
} from 'react-native';
const eventsMap = {
remoteNotificationReceived: 'remoteNotificationReceived',
localNotificationReceived: 'localNotificationReceived',
aliMessageReceived: 'aliMessageReceived',
registerUserNotificationSettings: 'registerUserNotificationSettings',
};
const AliPushManager = NativeModules.AliPushManager;
const AliPush = {};
AliPush.requestPermissions = (permissions=null) => {
return AliPushManager.requestPermissions(permissions);
};
AliPush.setApplicationIconBadgeNumber = AliPushManager.setApplicationIconBadgeNumber;
AliPush.bindAccount = AliPushManager.bindAccount;
AliPush.unbindAccount = AliPushManager.unbindAccount;
AliPush.getInitialNotification = AliPushManager.getInitialNotification;
const AliPushEmitter = new NativeEventEmitter(AliPushManager);
AliPush.on = (event,callback) => {
const nativeEvent = eventsMap[event];
if (!nativeEvent) {
var s = ""
for(var key in eventsMap){
s+= key +","
}
throw new Error('event must in "'+s);
}
const listener = AliPushEmitter.addListener(nativeEvent,callback);
return listener;
};
module.exports = AliPush;