关于群聊信息的一个问题

android
标签: #<Tag:0x00007fca717f68c0>

(jinfengf) #41

应该不会延迟这么久,按你描述的是延迟了几天,这个一上线就会马上同步。你现在的情况是有两种吗:1修改群成员信息时用户在线收不到事件,调用获取群信息接口也没更新,2.修改群成员信息时,用户不在线,后面在线收不到事件,调用获取群信息接口也没更新。


(jinfengf) #42

你们上层是不用依靠Event,这个是我们通知上层有群信息修改了,如果通知的时候上层没监听到,后面再获取,本地值也是已经更新了的,但之前给的对象里的值是没修改的,所以展示可能展示的还是老的,但下次再进入界面的时候应该也刷新了,应该也不会出现描述的延迟了几天。


(jinfengf) #43

如果现在还能重现以下情景的话可以提供下用户B的日志:1.A和B都在线,A修改群成员昵称,B收不到昵称修改事件,且过段时间去获取A的群成员信息也没有更新。2.A在线,B不在线,A修改群成员昵称,B上线后,收不到昵称修改事件,且过段时间去获取A的群成员信息也没有更新。


(凯凯) #44

我发现没混淆的代码在设置昵称后能收到该事件,混淆后收不到,


我已经按照上面规则,并且下载了4.11版的proguard.jar文件替换,漏掉了什么吗?


(jinfengf) #45

没有问题,你注册监听是使用JMessageClient里的方法吗


(凯凯) #46

嗯 是的 是使用了 JMessageClient.registerEventReceiver 又测试了一下,发现还是release版代码混淆后没有收到GroupMemNicknameChangedEvent事件,debug未混淆能收到,


(jinfengf) #47

提供下收不到事件的日志


(凯凯) #48

log.txt (863.4 KB)

看下是代码混淆后哪地方出现问题了吗


(凯凯) #49

刚才表述有问题,我仔细测了一下,出现的问题是:代码混淆后修改昵称可以收到GroupMemNicknameChangedEvent事件,但是调用JMessageClient.getGroupMembers后发现该用户昵称并未变化,未混淆的正常


(jinfengf) #50

混淆加上这个试试

-keep class cn.jmessage.** { *; }

(jinfengf) #51

加上这个试试


(凯凯) #52

嗯 加上这个可以了


(凯凯) #53

之前的群成员信息没有变化有可能就是这个原因,事件是收到了,代码混淆得原因而本地没有更新