默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 求教关于RainbowChat的更新和禁言功能疑问
1 卸载时会删除本地聊天记录?提示更新时不会删除。那如果我手动安装最新的包会不会呢?

2 当前好像没有禁言功能,如果我需要这样的功能,是否有什么建议。禁言功能肯定是需要实时的。

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:RainbowChat
上一篇:[已回复] 求教关于RainbowChat中历史消息/漫游消息的处理疑问下一篇:[已回复] RainbowChat的语音信息是像微信的一样就几乎是立即送到的机制吗?
推荐方案
评论 3
引用:xiaohao180731 发表于 2018-08-20 13:00
1 就是我发现卸载之后聊天记录会没有了。但是登陆时提示更新,这个时候安装聊天记录还在。手动更新的问题 ...

1、手机端的聊天记录是存放在sqlite里的,而sqlite就是个文件型数据库,你卸载app的时候android不会自动也删除这个文件,因为它跟app并没有直接的关联,独立的文件嘛。具体你可以读一读sqlite的基础资料就明白了。
说白了,你不手动清理app的数据、图片、资料等,android的机制里是不会清掉这些的,这也是你的android手机为什么空间越用越小的原因,其它的app数据也一样,你不删除,它们都在。

2、禁言了就不存什么离线消息了,他发的消息你从服务端的sdk底层通道就忽略它了,也就更不存在有什么毁掉通知了。不过,到底要不要加什么单独的回调,你可以自已来实现,必须每 个人的业务都不一样,这一块你理解一下ServerCoreHandler的源码就行了,它是服务端的实时通信数据出入口类,很容易理解。
引用:JackJiang 发表于 2018-08-20 10:53
你的这个问题:“1 卸载时会删除本地聊天记录?提示更新时不会删除。那如果我手动安装最新的包会不会呢?” ...

1 就是我发现卸载之后聊天记录会没有了。但是登陆时提示更新,这个时候安装聊天记录还在。手动更新的问题忽略。
2 我看到数据库里有missu_offline_history表,这个离线消息记录。如果是在SDK里面实现禁言功能的话,那离线消息记录是在SDK存储到这个表的吗?SDK不是应该不会操作数据库么?客户端肯定也没有操作数据库,那不是在服务里面么?
你的这个问题:“1 卸载时会删除本地聊天记录?提示更新时不会删除。那如果我手动安装最新的包会不会呢?”
我没看懂。android里卸载程序时卸载的是app程序本身,其它数据是没有办法自动卸载的,android系统不会智能地清除这个,这跟ios有本质区别了。“提示更新时不会删除。那如果我手动安装最新的包会不会呢?”这一句就完全看不懂你说什么了

第2个问题,你要实现实时禁言的话,我建议你不需要在RainbowChat代码里来实现,直接在MobileIMSDK底层去改更容易,你看一下ServerCoreHandler这个类的messageReceived方法,基本上所有的指令、消息都是通过它来处理,你只要在这个方法,发现数据是“from_userid”你要禁言的这个人发出的,你就无条件忽略就可以达到目的了。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部