Class RongUserInfoManager

    • Constructor Detail

    • Method Detail

      • setUserInfoProvider

         void setUserInfoProvider(UserDataProvider.UserInfoProvider userInfoProvider, boolean isCacheUserInfo)

        设置用户信息的提供者,供 UI 获取用户名称和头像信息。 各 ViewModel 会监听用户信息的变化,进行对应刷新。 如果需要异步从服务器获取用户信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。 在异步请求结果返回后,根据返回的结果调用 refreshUserInfoCache} 刷新用户信息。

        Parameters:
        userInfoProvider - 用户信息提供者 UserDataProvider.UserInfoProvider。
        isCacheUserInfo - 设置是否由 IMKit 来缓存用户信息。如果 App 提供的 UserInfoProvider。 每次都需要通过网络请求用户数据,而不是将用户数据缓存到本地,会影响用户信息的加载速度;此时最好将本参数设置为 true,由 IMKit 来缓存用户信息。
      • setGroupUserInfoProvider

         void setGroupUserInfoProvider(UserDataProvider.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:

        群组信息。

      • 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:

        是否携带用户信息

      • refreshUserInfoCache

         void refreshUserInfoCache(UserInfo userInfo)

        刷新用户信息缓存。

        Parameters:
        userInfo - 用户信息。
      • refreshGroupInfoCache

         void refreshGroupInfoCache(Group groupInfo)

        刷新群组信息缓存。

        Parameters:
        groupInfo - 群组信息。
      • 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:

        用户显示名称。