react-native 集成极光推送jpush-react-native时的小问题

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格式,如果懒可以点这里进行选购。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏宝哥的专栏

Docker系列学习文章 - 如何安装Docker(三)

| 导语 前面介绍了关于容器和docker的知识,那么从这篇文章开始,正式进入实操,带大家手把手安装docker环境。

1K20
来自专栏aoho求索

基于可靠消息方案的分布式事务(三):Lottor使用

前面两篇文章介绍了笔者关于可靠消息方案的分布式事务的实现思路以及Java中的事务概念,奈何工作抽不出时间,如今时隔已久,分布式事务系列拖了很久,一直没能好好把项...

541
来自专栏活动介绍栏目

php之laravel项目中使用腾讯云短信

进入该网址 :腾讯云短信控制台->  https://console.cloud.tencent.com/sms

900
来自专栏菩提树下的杨过

mac机上搭建php56/nginx 1.8.x/thinkphp 3.2.x/gearman扩展/seaslog扩展/redis扩展环境

php的各种扩展配置起来实在不容易,记录一下备忘: 一、php56 安装 虽然php7出来了,但是没用过,不知道有没有坑,这里仍然使用php5.6版本 1.1 ...

2026
来自专栏数据派THU

收藏 | Linux常用156个命令汇总!

来源:机器学习算法与Python学习 本文为大家带来Linux系统中156个常用的命令。 linux命令是对Linux系统进行管理的命令。对于Linux系统来说...

46912
来自专栏Android干货

LeanCloud数据存储相关问题

2788
来自专栏护卫神小符的专栏

如何创建开通网站?

本文大概讲解如何在镜像护卫神·全能安全环境(Win2008 IIS|ASP|PHP|.NET)上如何开设网站,绑定域名等。

3130
来自专栏蜉蝣禅修之道

Extjs自定义多字段VTypes

1573
来自专栏行者常至

(Servlet)Ajax

691
来自专栏Python、Flask、Django

Docker服务无法正常启动,解决方法之一

1394

扫码关注云+社区