UNPKG

react-native-aliyun-onesdk

Version:
43 lines (35 loc) 1.26 kB
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;