IM 即时通讯 (441)
Android (210)
- 初始化&链接 (8)
- 事件&监听处理 (7)
- 用户信息 (13)
- 会话列表 (16)
- 聊天会话 (26)
- 消息处理 (35)
- 自定义消息 (6)
- 音视频 (2)
- 推送&通知 (34)
- 扩展功能 (4)
- 第三方地图 (3)
- 依赖&配置 (9)
- 升级说明 (3)
- 其他 (44)
iOS (166)
- SDK 导入 (10)
- 连接 (8)
- 事件处理 (2)
- 用户信息 (3)
- 会话列表 (14)
- 聊天会话 (44)
- 消息处理 (26)
- 自定义消息 (8)
- 推送&通知 (19)
- 扩展功能 (5)
- 国际化 (4)
- 音视频 (3)
- 其他 (20)
Web (36)
Server (29)
为什么 显示的全是自己的头像和昵称 或 只显示自己头像和昵称
设置了用户信息提供者,但会话列表 和 会话页面所有人的头像和昵称都显示的是当前登录用户的。或者只显示了当前登录用户的头像和昵称。
发布时间: 2018-03-09 11:25
回答:
原因:
用户信息提供者设置的不对,只返回了当前登录用户的头像和昵称。
关于用户信息提供者 :
用户信息提供者的意思是:当SDK需要在UI上显示某个用户的信息时,会先在本地缓存找,如果有,直接取缓存,如果没有,就回调用户信息提供者的getUserInfo方法来获取信息。
所以getUserInfo方法需要实现的逻辑是:根据getUserInfo的参数userId,返回对应的用户的信息。如果本地有,直接return,如果没有,则需要异步去app server端取该用户的信息,先return null, 异步取到信息后,再调RongIM.getInstance().refreshUserInfoCach来刷新缓存。
所以由此可知,getUserInfo的参数userId不只可能是当前登录用户的id,可能是任何一个需要在UI上显示的用户的id, 所以getUserInfo不能是return 当前登录用户的信息,否则就会出现这种问题。
另外,用户信息提供者全局设置一遍即可。
解决方案:
正确设置用户信息提供者。