jmessage-react-plugin 问题

jmessage
jpush
标签: #<Tag:0x00007fb84d524768> #<Tag:0x00007fb84d524538>

(Micheal Zhang) #1

jpush/jmessage-react-plugin问题

JMessage.resetUnreadMessageCount

重置会话的未读消息数。

参数也是按照这样的
type: 会话类型。可以为 ‘single’ 或 ‘group’。
username: 对方用户的用户名。当 type 为 ‘single’ 时,username 为必填。
appKey: 对方用户所属应用的 AppKey。如果不填,默认为当前应用。
groupId: 对象群组 id。当 type 为 ‘group’ 时,groupId 为必填。

结果成功了,成功回调的参数为空!但未读数并没有被重置


#2

提供你调用后得到的客户端日志信息


(Micheal Zhang) #3

我刚才测试了 是对的这个

我发现不是这个SDK的问题,而是jpush/jpush-react-native的问题

每次推送过来的消息 会有一个badge,我在程序内部无法控制通过 JPushModule.setBadge改了之后,每次收到新的消息推送,都会有一个新的badge数值,不断累积增加


#4

这个说明你 推送的时候 写了 badge +1 吧?

我现在不是很清楚你遇到的问题的具体情况是什么

角标相关


(Micheal Zhang) #5

我只是集成了了 jpush/jpush-react-native ,没写推送的任何东西,自己就可以推送消息了,然后就出现这个问题啦!


#6

你可以详细的说明你的操作,你的结果,你认为什么地方有问题吗?我现在搞不清你具体的问题在哪


(Micheal Zhang) #7

好的,我在react native项目里集成了jpush/jpush-react-native 和 jpush/jmessage-react-plugin

然后就有了,聊天当然都是可以的了,消息的推送功也是有的

但是每次推送过来的消息 手机收到后会有一个小红标,也就是badge,我没有设置,他就一直从0加呀加!即使我在程序中将手机应用的设置0, 但是下次收到新的推送,仍然从之前的那个数上加


#8

要用这个方法


(Micheal Zhang) #9

setBadge

set application’s badge.

JPushModule.setBadge(5, (success) => { } );
getBadge

get application’s badge.

JPushModule.getBadge( (badge) => { } );

这个是jpush-react-native的readme,我感觉这个set没法推到服务器,一定只能用原生的去推么,我这个是纯RN的


#10

插件可以的呀,插件也是对原生 SDK 写的。

你如果设置成功了但没改变,将设置的日志、结果发出来,以及使用的插件的版本号,我让开发看一下


(Micheal Zhang) #11

jpush-react-native 是2.1.3

JPushModule.setBadge(count,       
  (success) => {             
   console.log(success)        
  });

打印的是 true,然后什么都没有了,本地的APP的小红标示改了,但是已收到新的消息推送,这个值就又是在之前的数值上增加了


(HuminiOS) #12

确保 jmessage 和 jpush 使用了同一个 appkey


(Micheal Zhang) #13

是这样的

有两个端,一个 用户端,一个员工端,都是ios端集成的

在ios项目里进行jpush的配置,当然在里面写过Appkey

在react native文件里面进行的jmessage的配置,在里面也写过Appkey

以上两个都是一样的

但是是有两个端的


#14

有的没理解,你现在要清除小红点(角标)的这个端是什么端?这个项目同时集成了 JPush 和JMessage?这个项目集成这两个项目时配的AppKey都是一致的?


(Micheal Zhang) #15

这个是react native项目

集成了Jmessag 和 Jpush

用于聊天的,一个A端,一个B端

只有A和B用户之间可以聊天,也就是不同app之间聊天

这两个端是不同的APP,我申请了两个appkey

项目里的配置应该都是对的,聊天、推送都是没问题的

目前的问题是,我无论是用A端向B端发消息,还是B端向A端发送消息,每次用户都到消息时候的badge,都是不断地叠加+1。我在项目里面使用setbadge更改之后,下次收到新的消息推送,仍然是在原来的基础上叠加+1

今天又有新发现,昨天的badge已近增加大一个很大的数字,但是今天发送新消息后,接受到的推送消息的badge又是从1开始叠加的,不知道什么时候重置了???


(HuminiOS) #16

接收推送的那个 App 同时集成 jpush 和 jmessge 需要检查 JMessage 的 setup 参数中传入的 appkey 和 Appdelegate.m 中的 JPUSHService setupWithOption 中的appKey 参数是否一致。

我这边测试 使用 JPushModule.setBadge 是可以正常重置badge(下一条消息会在0的基础上增加)。


(Micheal Zhang) #17

目从在sdk中的资料来看

JMessage的初始化,是 react native中完成的,所以是没用setup方法,而是这个

 JMessage.init({
      appkey: dftConfig.jMessageKey,
      isOpenMessageRoaming: false, // 是否开启消息漫游,默认不开启
      isProduction: false // 是否为生产模式
    })  

JPush要在原生项目里面配置,是用的你说的方法来初始化的

谢谢!


(HuminiOS) #18

dfConfig.jMessageKey 和 jpush 原生项目中 appkey 一致吗?


(Micheal Zhang) #19

非常的一致,我检查了好多遍


(HuminiOS) #20

加我 Q:380108184