react-native 集成极光推送jpush-react-native时的小问题
2017-09-28 11:41
656 查看
android的一个报错
... set canOverrideExistingModule=true
解决:
问题是在/android/app/src/java/.../MainApplication.java的getPackages()中重复引用了某个package,删除掉重复内容即可
新版中添加notifyJSDidLoad方法报错
如果不设平台,在ios里会报
notifyJSDidLoad undefined
错误如果使用官方例子notifyJSDidLoad的代码,android会报cb方法undefined
// 在收到点击事件之前调用此接口 if(Platform.OS === 'android'){ //notifyJSDidLoad仅安卓有此方法 // JPushModule.notifyJSDidLoad((resultCode) => { // if (resultCode === 0) {} // }) //官网给的上面这种会报cb方法undefined错误 JPushModule.notifyJSDidLoad(resultCode=>console.log(resultCode)) //这样用不会报错,当然还有其他不会报错的写法。 }
后台带参传送时,前台拿到数据的结构不同平台不一样
JPushModule.addReceiveOpenNotificationListener(message=>{//用户点击通知事件 //android和ios接收到的参数结构不同,需要分别处理获取 if(Platform.OS==='android'){ const {param1,param2} = JSON.parse(message.extras) ... //对应的路由跳转或者其他操作 }else{ //iOS const {param1,param2} = message ... //对应的路由跳转或者其他操作 } }
即
android:const {param1,param2} = JSON.parse(message.extras)
iOS: const {param1,param2} = message
param1,param2改成你要接收的参数字段名
原理
因为iOS平台的推送是Apns推送,json格式不同,具体格式可以百度
apns推送 json格式,如果懒可以点这里进行选购。
相关文章推荐
- 原生Android项目中集成react-native以及jpush-react-native(极光推送)
- jpush-react-native 插件的集成与使用 Android 篇(推送)
- 用 jpush-react-native 插件快速集成推送功能(Android 篇)
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- 用 jpush-react-native 插件快速集成推送功能(Android 篇)
- 用 jpush-react-native 插件快速集成推送功能(Android 篇)
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- 【转】iOS集成 jpush-react-native常见问题
- 极光推送Jpush-react-native在ios中的详细配置 本人亲测
- 用 jpush-react-native 插件快速集成推送功能(Android 篇)
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- react-native 集成极光推送
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- React Native Android JPush消息推送集成
- iOS第三方集成之jpush极光推送
- Jpush 极光推送遇到的几个问题
- React-Native集成到已有项目过程及问题处理
- React Native 集成jpush-react-native的示例代码
- React-Native集成JPush-react-native及应用设置Tags、Alias(iOS/Android)
- 在你的android APP中集成JPush极光推送