1)App ID 和 SDK 版本号
APP_ID = "HPPBP6pObC7wcbtV0UwDvfOz-gzGzoHsz";
APP_KEY = "*";
SDK版本号:avoscloud-sdk-v3.15.4

现象,使用chatkit开发包,发送同样的消息,当对方离线时,消息有的手机可以收到,有的手机收不到。
收到消息的手机表现也不一样,有的在会话页面内容是新的,但是没有新消息数的提示,有的只有新消息数提示,消息内容是不是新的。

我想问的问题是,为什么离线消息会出现这种情况,在线时互相发消息,都没问题。

收到离线消息的机制是什么样的?是在用户登录之后,去取得最新消息和新消息数,还是服务器将新消息推到手机客户端,然后在手机端处理数据?

发消息的cleanId:5865f9d51b69e60063d0499c
发送消息有3条,
消息内容:1203 消息发送时间:2016-01-12 12:03
消息内容:1432 消息发送时间:2016-01-12 14:32
消息内容:1610 消息发送时间:2016-01-12 16:10

收消息的cleanId:586251ca61ff4b00630eef4f
这三条消息都没收到。

在 initialize 时设置一下 AVOSCloud.setDebugLogEnabled(true),这样会开启日志。把两个端的日志都发一下吧,我看一下是什么问题。

我已经设置成true了,但是我不知道去哪看,是在网页里的云引擎里看吗?

这个是14:32发消息时候的日志

不是的,是 Android 端的日志,可以在 Android studio 的 Android Monitor 里边看。

chatkit聊天,如果退出登录,需要写代码吗?我看给的demo里退出什么也没写,但是文档里有退出登录的代码。
我发现我的应用一个用户退出之后在网页上的日志里都是显示 ”断线或用户主动登出“,”然后紧接着又有一条 ”登录” 的日志,这个时候我再给这个用户发消息,日志显示的就是这个成员在线,实际上已经不在线了啊,是不是这个原因导致用户收不到离线消息的?就是服务器端认为这个用户还在线,所以这个用户再登录的时候不会再发离线消息给他。