融云集成2--用户信息在会话列表和会话界面的显示

参考地址1:https://developer.rongcloud.cn/ticket/info/Dj+76JSLR636HZ+8sA==?type=1

参考地址2:http://blog.csdn.net/qq_19986309/article/details/46375291

参考视频:http://v.youku.com/v_show/id_XMTM3MjgyODYzNg==.html

用户信息(头像)如何刷新?

为什么调用 refreshUserInfoCache,有的头像刷新了,有的没有。

回答:

融云有两种显示用户信息的方式,一种是给需要注册的 app 使用的,就是 setUserInfoProvider,所有用户信息都是通过 getUserInfo 的回调来传入。因为 app 使用是需要注册的,所以所有用户信息应该都保存在 app 自己的服务器,只需要写成:

    RongIM.setUserInfoProvider(new RongIM.UserInfoProvider() {

        @Override

        public UserInfo getUserInfo(String userId) {

            return getUserInfoFromServer(userId);

        }

    }, true);

同步方法这里返回 UserInfo 就可以了。如果是网络异步请求,需要在异步回调里用 refreshUserInfoCache 刷新。

第二种是给不需要注册的app使用,就是 setCurrentUserInfo 以及 setMessageAttachedUserInfo(true) 这种方式。本端发送的消息里携带了自己的用户信息,对方收到后优先使用消息里携带的这一信息。可以在陌生人之间实现用户信息传递,比如公共聊天室。

需要注意的是,第二种优先级比第一种高,就是说如果这条消息里携带了用户信息,再对这个 id 做刷新操作,这条消息显示的用户信息不会改变。因此不建议混用,有特殊需求除外。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章