跳转至

用户信息

用户

用户信息需要从 App 服务端获取。

avatar

用户信息提供者

参数说明:

参数 类型 必填 说明
userInfoProvider UserInfoProvider 用户信息提供者
isCacheUserInfo boolean IMKit是否缓存用户数据

代码示例:

RongIM.setUserInfoProvider(new RongIM.UserInfoProvider() {

    @Override
    public UserInfo getUserInfo(String userId) {

        return findUserById(userId);
    }

}, true);

getUserInfo 这个方法需要去 App 服务端异步获取用户信息,在成功获取到用户信息的异步回调中使用下面方法来刷新用户信息。

代码示例:

RongIM.getInstance().refreshUserInfoCache(new UserInfo("userId", "啊明", Uri.parse("http://rongcloud-web.qiniudn.com/docs_demo_rongcloud_logo.png")));

消息携带用户信息

消息携带用户信息会在每条发送的消息里都携带当前登陆用户的信息,增加消息的长度。自定义消息携带用户信息,参考 TextMessage 。

参数说明:

参数 类型 必填 说明
userInfo UserInfo 当前用户信息

代码示例:

RongIM.getInstance().setCurrentUserInfo(userInfo);

然后,在 init 之后调用下面方法设置消息携带用户信息。

参数说明:

参数 类型 必填 说明
state boolean 是否携带用户信息,true 携带,false 不携带。

代码示例:

RongIM.getInstance().setMessageAttachedUserInfo(state);

注意事项

1.根据实际需求两种方式选其一实现即可。

2.请与 iOS 选取相同的方法实现。

群组

参数说明:

参数 类型 必填 说明
provider GroupInfoProvider 群组信息提供者
isCacheGroupInfo boolean IMKit是否缓存群组数据

代码示例:

RongIM.setGroupInfoProvider(new RongIM.GroupInfoProvider() {
                            @Override
                            public Group getGroupInfo(String s) {
                                return new Group(s,"群聊",Uri.parse("http://rongcloud-web.qiniudn.com/docs_demo_rongcloud_logo.png"));
                            }
                        },true);

刷新群组信息

代码示例:

RongIM.getInstance().refreshGroupInfoCache(new Group(s,"群聊",Uri.parse("http://rongcloud-web.qiniudn.com/docs_demo_rongcloud_logo.png"));

群昵称

参数说明:

参数 类型 必填 说明
gourpuserInfoProvider GroupUserInfoProvider 群组用户信息提供者
isCacheUserInfo boolean IMKit是否缓存群组用户数据

代码示例:

RongIM.setGroupUserInfoProvider(new RongIM.GroupUserInfoProvider() {
                            @Override
                            public GroupUserInfo getGroupUserInfo(String groupid, String userid) {
                                return new GroupUserInfo("groupid","nickname","userid");
                            }
                        },true);