写点什么

融云如何更换用户信息

发布于: 2021 年 03 月 15 日

在融云的用户信息机制中,是由用户信息提供者设置的用户信息,当然为了信息安全,用户信息的维护留在我们自己的服务端进行操作的;


首先,参考融云文档 设置用户信息提供者。


  RongIM.setUserInfoProvider(new RongIM.UserInfoProvider() {
复制代码


/**
复制代码


 * 获取设置用户信息. 通过返回的 userId 来封装生产用户信息.
复制代码


 * @param userId 用户 ID 
复制代码


 */
复制代码


@Override
复制代码


public UserInfo getUserInfo(String userId) {
复制代码


    UserInfo userInfo = new UserInfo(userId, "userId 对应的名称", Uri.parse("userId 对应的头像地址"))
复制代码


    return userInfo;
复制代码


}},true);
复制代码

如此设置完用户信息提供者之后,在获取到用户信息之后,于此同时调用


RongIM.getInstance().refreshUserInfoCache(userInfo);
复制代码

将用户信息缓存起来,那么问题来了,若是用户信息修改了,该如何处理呢?


以下我将我使用的方式提供给大家,供大家参考:


  1. 我设置了一个自定义消息 ,UserInfoChangeMessage,自定义消息可参考融云文档

  2. 在某个用户更新个人信息之后,发送自定义消息通知与此用户相关的所有相关者。此消息建议有服务端发送;

  3. 在其他用户收到此消息之后,通过消息携带的 Userid ,来重新从服务获取最新的用户信息,然后在调用 RongIM.getInstance().refreshUserInfoCache(userInfo); 将用户信息刷新缓存;


通过以上三步,即可完成用户信息的更新。


用户头像

还未添加个人签名 2021.01.26 加入

还未添加个人简介

评论

发布
暂无评论
融云如何更换用户信息