android的叁个报错

... set canOverrideExistingModule=true

解决:

难点是在/android/app/src/java/…/MainApplication.java的getPackages()中另行引用了有些package,删除掉重复内容即可

新版中充裕notifyJSDidLoad方法报错

  1. 如若不设平台,在ios里会报notifyJSDidLoad undefined错误

  2. 借使利用官方例子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格式,固然懒可以点这里开始展览购买。

相关文章

网站地图xml地图