移动推送+ReactNative最佳实践方法有哪些?(2)
2.3.2 JavaScript监听相关事件
- [backcolor=transparent]//导入相关模块
- [backcolor=transparent]import[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]AppRegistry[backcolor=transparent],
- [backcolor=transparent] [backcolor=transparent]MPush[backcolor=transparent],
- [backcolor=transparent] [backcolor=transparent]DeviceEventEmitter[backcolor=transparent],
- [backcolor=transparent] [backcolor=transparent]......
- [backcolor=transparent]}[backcolor=transparent] [backcolor=transparent]from[backcolor=transparent] [backcolor=transparent]'react-native'[backcolor=transparent];
- [backcolor=transparent]export[backcolor=transparent] [backcolor=transparent]default[backcolor=transparent] [backcolor=transparent]class[backcolor=transparent] [backcolor=transparent]AwesomeProject[backcolor=transparent] [backcolor=transparent]extends[backcolor=transparent] [backcolor=transparent]Component[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent]......
- [backcolor=transparent] [backcolor=transparent]//绑定事件
- [backcolor=transparent] componentDidMount[backcolor=transparent]()[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]DeviceEventEmitter[backcolor=transparent].[backcolor=transparent]addListener[backcolor=transparent]([backcolor=transparent]'onMessage'[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]this[backcolor=transparent].[backcolor=transparent]onMessage[backcolor=transparent]);
- [backcolor=transparent] [backcolor=transparent]DeviceEventEmitter[backcolor=transparent].[backcolor=transparent]addListener[backcolor=transparent]([backcolor=transparent]'onNotification'[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]this[backcolor=transparent].[backcolor=transparent]onNotification[backcolor=transparent]);
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] [backcolor=transparent]//解绑事件
- [backcolor=transparent] componentWillUnmount[backcolor=transparent]()[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]DeviceEventEmitter[backcolor=transparent].[backcolor=transparent]removeListener[backcolor=transparent]([backcolor=transparent]'onMessage'[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]this[backcolor=transparent].[backcolor=transparent]onMessage[backcolor=transparent]);
- [backcolor=transparent] [backcolor=transparent]DeviceEventEmitter[backcolor=transparent].[backcolor=transparent]removeListener[backcolor=transparent]([backcolor=transparent]'onNotification'[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]this[backcolor=transparent].[backcolor=transparent]onNotification[backcolor=transparent]);
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] [backcolor=transparent]//事件处理逻辑
- [backcolor=transparent] onMessage[backcolor=transparent]([backcolor=transparent]e[backcolor=transparent]){
- [backcolor=transparent] alert[backcolor=transparent]([backcolor=transparent]"Message Received. Title:"[backcolor=transparent] [backcolor=transparent]+[backcolor=transparent] e[backcolor=transparent].[backcolor=transparent]title [backcolor=transparent]+[backcolor=transparent] [backcolor=transparent]", Content:"[backcolor=transparent] [backcolor=transparent]+[backcolor=transparent] e[backcolor=transparent].[backcolor=transparent]content[backcolor=transparent]);
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] onNotification[backcolor=transparent]([backcolor=transparent]e[backcolor=transparent]){
- [backcolor=transparent] alert[backcolor=transparent]([backcolor=transparent]"Notification Received.Title:"[backcolor=transparent] [backcolor=transparent]+[backcolor=transparent] e[backcolor=transparent].[backcolor=transparent]title [backcolor=transparent]+[backcolor=transparent] [backcolor=transparent]", Content:"[backcolor=transparent] [backcolor=transparent]+[backcolor=transparent] e[backcolor=transparent].[backcolor=transparent]content[backcolor=transparent]);
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent]}
2.4 初始化
在Application中初始化推送SDK:
- [backcolor=transparent]public[backcolor=transparent] [backcolor=transparent]class[backcolor=transparent] [backcolor=transparent]MainApplication[backcolor=transparent] [backcolor=transparent]extends[backcolor=transparent] [backcolor=transparent]Application[backcolor=transparent] [backcolor=transparent]implements[backcolor=transparent] [backcolor=transparent]ReactApplication[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]private[backcolor=transparent] [backcolor=transparent]static[backcolor=transparent] [backcolor=transparent]final[backcolor=transparent] [backcolor=transparent]String[backcolor=transparent] TAG [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]MainApplication[backcolor=transparent].[backcolor=transparent]class[backcolor=transparent].[backcolor=transparent]getName[backcolor=transparent]();
- [backcolor=transparent] [backcolor=transparent]private[backcolor=transparent] [backcolor=transparent]final[backcolor=transparent] [backcolor=transparent]ReactNativeHost[backcolor=transparent] mReactNativeHost [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]new[backcolor=transparent] [backcolor=transparent]ReactNativeHost[backcolor=transparent]([backcolor=transparent]this[backcolor=transparent])[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]@Override
- [backcolor=transparent] [backcolor=transparent]public[backcolor=transparent] [backcolor=transparent]boolean[backcolor=transparent] getUseDeveloperSupport[backcolor=transparent]()[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]return[backcolor=transparent] [backcolor=transparent]BuildConfig[backcolor=transparent].[backcolor=transparent]DEBUG[backcolor=transparent];
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] [backcolor=transparent]@Override
- [backcolor=transparent] [backcolor=transparent]protected[backcolor=transparent] [backcolor=transparent]List[backcolor=transparent]<[backcolor=transparent]ReactPackage[backcolor=transparent]>[backcolor=transparent] getPackages[backcolor=transparent]()[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]return[backcolor=transparent] [backcolor=transparent]Arrays[backcolor=transparent].<[backcolor=transparent]ReactPackage[backcolor=transparent]>[backcolor=transparent]asList[backcolor=transparent](
- [backcolor=transparent] [backcolor=transparent]new[backcolor=transparent] [backcolor=transparent]MainReactPackage[backcolor=transparent]()
- [backcolor=transparent] [backcolor=transparent]);
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] [backcolor=transparent]};
- [backcolor=transparent] [backcolor=transparent]@Override
- [backcolor=transparent] [backcolor=transparent]public[backcolor=transparent] [backcolor=transparent]ReactNativeHost[backcolor=transparent] getReactNativeHost[backcolor=transparent]()[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]return[backcolor=transparent] mReactNativeHost[backcolor=transparent];
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] [backcolor=transparent]@Override
- [backcolor=transparent] [backcolor=transparent]public[backcolor=transparent] [backcolor=transparent]void[backcolor=transparent] onCreate[backcolor=transparent]()[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]super[backcolor=transparent].[backcolor=transparent]onCreate[backcolor=transparent]();
- [backcolor=transparent] [backcolor=transparent]SoLoader[backcolor=transparent].[backcolor=transparent]init[backcolor=transparent]([backcolor=transparent]this[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]/* native exopackage */[backcolor=transparent] [backcolor=transparent]false[backcolor=transparent]);
- [backcolor=transparent] [backcolor=transparent]this[backcolor=transparent].[backcolor=transparent]initCloudChannel[backcolor=transparent]();
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] [backcolor=transparent]private[backcolor=transparent] [backcolor=transparent]void[backcolor=transparent] initCloudChannel[backcolor=transparent]()[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]PushServiceFactory[backcolor=transparent].[backcolor=transparent]init[backcolor=transparent]([backcolor=transparent]this[backcolor=transparent].[backcolor=transparent]getApplicationContext[backcolor=transparent]());
- [backcolor=transparent] [backcolor=transparent]CloudPushService[backcolor=transparent] pushService [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]PushServiceFactory[backcolor=transparent].[backcolor=transparent]getCloudPushService[backcolor=transparent]();
- [backcolor=transparent] pushService[backcolor=transparent].[backcolor=transparent]register[backcolor=transparent]([backcolor=transparent]this[backcolor=transparent].[backcolor=transparent]getApplicationContext[backcolor=transparent](),[backcolor=transparent] [backcolor=transparent]new[backcolor=transparent] [backcolor=transparent]CommonCallback[backcolor=transparent]()[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]@Override
- [backcolor=transparent] [backcolor=transparent]public[backcolor=transparent] [backcolor=transparent]void[backcolor=transparent] onSuccess[backcolor=transparent]([backcolor=transparent]String[backcolor=transparent] s[backcolor=transparent])[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]Log[backcolor=transparent].[backcolor=transparent]e[backcolor=transparent]([backcolor=transparent]TAG[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]"init cloudchannel success"[backcolor=transparent]);
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] [backcolor=transparent]@Override
- [backcolor=transparent] [backcolor=transparent]public[backcolor=transparent] [backcolor=transparent]void[backcolor=transparent] onFailed[backcolor=transparent]([backcolor=transparent]String[backcolor=transparent] s[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]String[backcolor=transparent] s1[backcolor=transparent])[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]Log[backcolor=transparent].[backcolor=transparent]e[backcolor=transparent]([backcolor=transparent]TAG[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]"init cloudchannel failed. errorCode:"[backcolor=transparent] [backcolor=transparent]+[backcolor=transparent] s [backcolor=transparent]+[backcolor=transparent] [backcolor=transparent]". errorMsg:"[backcolor=transparent] [backcolor=transparent]+[backcolor=transparent] s1[backcolor=transparent]);
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] [backcolor=transparent]});
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent]}
收起
猫饭先生
2017-10-23 11:17:37
1482
分享
版权