Class RongUserInfoManager
-
- All Implemented Interfaces:
public class RongUserInfoManagerrongcloud
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public interfaceRongUserInfoManager.UserDataObserverpublic enumRongUserInfoManager.DataSourceType数据源类型。
-
Field Summary
Fields Modifier and Type Field Description public RongUserInfoManager.DataSourceTypedataSourceType
-
Method Summary
Modifier and Type Method Description RongUserInfoManager.DataSourceTypegetDataSourceType()获取用户信息数据源类型。 voidsetDataSourceType(RongUserInfoManager.DataSourceType dataSourceType)切换用户信息数据源。 static RongUserInfoManagergetInstance()voidinitAndUpdateUserDataBase(Context context)voidsetUserInfoProvider(UserInfoProvider userInfoProvider, boolean isCacheUserInfo)设置用户信息的提供者,供 UI 获取用户名称和头像信息。 各 ViewModel 会监听用户信息的变化,进行对应刷新。 如果需要异步从服务器获取用户信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。 在异步请求结果返回后,根据返回的结果调用 refreshUserInfoCache} 刷新用户信息。 voidsetGroupInfoProvider(GroupInfoProvider groupInfoProvider, boolean isCacheGroupInfo)设置群组信息提供者。 booleanisCacheUserOrGroupInfo()voidsetGroupUserInfoProvider(GroupUserInfoProvider groupUserInfoProvider, boolean isCacheGroupUserInfo)设置群成员提供者 可以使用此方法,修改群组中用户昵称 设置后,当 sdk 界面展示用户信息时,会回调 getGroupUserInfo 使用者只需要根据对应的 groupId, userId 提供对应的用户信息 GroupUserInfo。 如果需要异步从服务器获取用户信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。 在异步请求结果返回后,根据返回的结果调用 refreshGroupUserInfoCache 刷新信息。 UserInfogetUserInfo(String userId)获取用户信息。 GroupgetGroupInfo(String groupId)获取群组信息。 GroupUserInfogetGroupUserInfo(String groupId, String userId)获取群组用户信息。 voidpreloadUserInfos(List<String> ids)预加载用户信息列表 注意: 1,内部接口,不建议 SDK 外部调用。 2,该方法解决信息托管超频问题,信息提供者暂不需优化。 voidpreloadGroupInfos(List<String> ids)预加载群信息列表 注意: 1,内部接口,不建议 SDK 外部调用。 2,该方法解决信息托管超频问题,信息提供者暂不需优化。 voidpreloadGroupUserInfos(Map<String, String> groupUserInfos)预加载群成员用户信息列表 注意: 1,内部接口,不建议 SDK 外部调用。 2,该方法解决信息托管超频问题,信息提供者暂不需优化。 UserInfogetCurrentUserInfo()获取当前用户信息。 voidsetCurrentUserInfo(UserInfo userInfo)设置当前用户信息。 如果开发者没有实现用户信息提供者,而是使用消息携带用户信息,需要使用这个方法设置当前用户的信息, 然后在init之后调用setMessageAttachedUserInfo, 这样可以在每条消息中携带当前用户的信息,IMKit会在接收到消息的时候取出用户信息并刷新到界面上。 voidsetMessageAttachedUserInfo(boolean state)设置消息体内是否携带用户信息。 booleangetUserInfoAttachedState()获取当前用户关于消息体内是否携带用户信息的配置 voidaddUserDataObserver(RongUserInfoManager.UserDataObserver observer)添加用户信息观察者。 voidremoveUserDataObserver(RongUserInfoManager.UserDataObserver observer)移除用户信息观察者。 voidrefreshUserInfoCache(UserInfo userInfo)刷新用户信息缓存。 voidrefreshGroupInfoCache(Group groupInfo)刷新群组信息缓存。 voidrefreshGroupUserInfoCache(GroupUserInfo groupUserInfo)刷新群组用户信息缓存。 StringgetUserDisplayName(UserInfo userInfo)获取用户显示名称。 StringgetUserDisplayName(User user)获取用户显示名称。 StringgetUserDisplayName(UserInfo userInfo, String groupMemberName)获取用户显示名称。 -
-
Method Detail
-
getDataSourceType
RongUserInfoManager.DataSourceType getDataSourceType()
获取用户信息数据源类型。
- Returns:
用户信息数据源类型。
-
setDataSourceType
void setDataSourceType(RongUserInfoManager.DataSourceType dataSourceType)
切换用户信息数据源。
- Parameters:
dataSourceType- 数据源类型。 默认为 INFO_PROVIDER。
-
getInstance
static RongUserInfoManager getInstance()
-
initAndUpdateUserDataBase
void initAndUpdateUserDataBase(Context context)
-
setUserInfoProvider
void setUserInfoProvider(UserInfoProvider userInfoProvider, boolean isCacheUserInfo)
设置用户信息的提供者,供 UI 获取用户名称和头像信息。 各 ViewModel 会监听用户信息的变化,进行对应刷新。 如果需要异步从服务器获取用户信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。 在异步请求结果返回后,根据返回的结果调用 refreshUserInfoCache} 刷新用户信息。
- Parameters:
userInfoProvider- 用户信息提供者 UserDataProvider.isCacheUserInfo- 设置是否由 IMKit 来缓存用户信息。如果 App 提供的 UserInfoProvider。 每次都需要通过网络请求用户数据,而不是将用户数据缓存到本地,会影响用户信息的加载速度;此时最好将本参数设置为 true,由 IMKit 来缓存用户信息。
-
setGroupInfoProvider
void setGroupInfoProvider(GroupInfoProvider groupInfoProvider, boolean isCacheGroupInfo)
设置群组信息提供者。
- Parameters:
groupInfoProvider- 群组信息提供者。isCacheGroupInfo- 是否缓存群组信息。
-
isCacheUserOrGroupInfo
boolean isCacheUserOrGroupInfo()
-
setGroupUserInfoProvider
void setGroupUserInfoProvider(GroupUserInfoProvider groupUserInfoProvider, boolean isCacheGroupUserInfo)
设置群成员提供者
可以使用此方法,修改群组中用户昵称
设置后,当 sdk 界面展示用户信息时,会回调 getGroupUserInfo 使用者只需要根据对应的 groupId, userId 提供对应的用户信息 GroupUserInfo。 如果需要异步从服务器获取用户信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。 在异步请求结果返回后,根据返回的结果调用 refreshGroupUserInfoCache 刷新信息。
- Parameters:
groupUserInfoProvider- 群组用户信息提供者。isCacheGroupUserInfo- 设置是否由 IMKit 来缓存 GroupUserInfo。如果 App 提供的 GroupUserInfoProvider。 每次都需要通过网络请求数据,而不是将数据缓存到本地,会影响信息的加载速度;此时最好将本参数设置为 true,由 IMKit 来缓存信息。
-
getUserInfo
UserInfo getUserInfo(String userId)
获取用户信息。
- Parameters:
userId- 用户 Id。- Returns:
用户信息。
-
getGroupInfo
Group getGroupInfo(String groupId)
获取群组信息。
- Parameters:
groupId- 群组 Id。- Returns:
群组信息。
-
getGroupUserInfo
GroupUserInfo getGroupUserInfo(String groupId, String userId)
获取群组用户信息。
- Parameters:
groupId- 群组 Id。userId- 用户 Id。- Returns:
群组用户信息。
-
preloadUserInfos
void preloadUserInfos(List<String> ids)
预加载用户信息列表
注意:
1,内部接口,不建议 SDK 外部调用。
2,该方法解决信息托管超频问题,信息提供者暂不需优化。
-
preloadGroupInfos
void preloadGroupInfos(List<String> ids)
预加载群信息列表
注意:
1,内部接口,不建议 SDK 外部调用。
2,该方法解决信息托管超频问题,信息提供者暂不需优化。
-
preloadGroupUserInfos
void preloadGroupUserInfos(Map<String, String> groupUserInfos)
预加载群成员用户信息列表
注意:
1,内部接口,不建议 SDK 外部调用。
2,该方法解决信息托管超频问题,信息提供者暂不需优化。
-
getCurrentUserInfo
UserInfo getCurrentUserInfo()
获取当前用户信息。
- Returns:
当前用户信息。
-
setCurrentUserInfo
void setCurrentUserInfo(UserInfo userInfo)
设置当前用户信息。 如果开发者没有实现用户信息提供者,而是使用消息携带用户信息,需要使用这个方法设置当前用户的信息, 然后在init之后调用setMessageAttachedUserInfo, 这样可以在每条消息中携带当前用户的信息,IMKit会在接收到消息的时候取出用户信息并刷新到界面上。
- Parameters:
userInfo- 当前用户信息。
-
setMessageAttachedUserInfo
void setMessageAttachedUserInfo(boolean state)
设置消息体内是否携带用户信息。
- Parameters:
state- 是否携带用户信息,true 携带,false 不携带。
-
getUserInfoAttachedState
boolean getUserInfoAttachedState()
获取当前用户关于消息体内是否携带用户信息的配置
- Returns:
是否携带用户信息
-
addUserDataObserver
void addUserDataObserver(RongUserInfoManager.UserDataObserver observer)
添加用户信息观察者。
- Parameters:
observer- 用户信息观察者。
-
removeUserDataObserver
void removeUserDataObserver(RongUserInfoManager.UserDataObserver observer)
移除用户信息观察者。
- Parameters:
observer- 用户信息观察者。
-
refreshUserInfoCache
void refreshUserInfoCache(UserInfo userInfo)
刷新用户信息缓存。
- Parameters:
userInfo- 用户信息。
-
refreshGroupInfoCache
void refreshGroupInfoCache(Group groupInfo)
刷新群组信息缓存。
- Parameters:
groupInfo- 群组信息。
-
refreshGroupUserInfoCache
void refreshGroupUserInfoCache(GroupUserInfo groupUserInfo)
刷新群组用户信息缓存。
- Parameters:
groupUserInfo- 群组用户信息。
-
getUserDisplayName
String getUserDisplayName(UserInfo userInfo)
获取用户显示名称。
- Parameters:
userInfo- 用户信息。- Returns:
用户显示名称。
-
getUserDisplayName
String getUserDisplayName(User user)
获取用户显示名称。
- Parameters:
user- 用户信息。- Returns:
用户显示名称。
-
getUserDisplayName
String getUserDisplayName(UserInfo userInfo, String groupMemberName)
获取用户显示名称。
- Parameters:
userInfo- 用户信息。groupMemberName- 群组成员名称。- Returns:
用户显示名称。
-
-
-
-