Class RongUserInfoManager

    • Constructor Detail

    • Method Detail

      • 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 - 是否缓存群组信息。
      • 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:

        群组用户信息。

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

        用户显示名称。