1. 程式人生 > >融雲集成2--使用者資訊在會話列表和會話介面的顯示

融雲集成2--使用者資訊在會話列表和會話介面的顯示

使用者資訊(頭像)如何重新整理?

為什麼呼叫 refreshUserInfoCache,有的頭像重新整理了,有的沒有。

回答:

融雲有兩種顯示使用者資訊的方式,一種是給需要註冊的 app 使用的,就是 setUserInfoProvider,所有使用者資訊都是通過 getUserInfo 的回撥來傳入。因為 app 使用是需要註冊的,所以所有使用者資訊應該都儲存在 app 自己的伺服器,只需要寫成:

    RongIM.setUserInfoProvider(new RongIM.UserInfoProvider() {

        @Override

        public UserInfo getUserInfo(String userId) {

            return getUserInfoFromServer(userId);

        }

    }, true);

同步方法這裡返回 UserInfo 就可以了。如果是網路非同步請求,需要在非同步回撥裡用 refreshUserInfoCache 重新整理。

第二種是給不需要註冊的app使用,就是 setCurrentUserInfo 以及 setMessageAttachedUserInfo(true) 這種方式。本端傳送的訊息裡攜帶了自己的使用者資訊,對方收到後優先使用訊息裡攜帶的這一資訊。可以在陌生人之間實現使用者資訊傳遞,比如公共聊天室。

需要注意的是,第二種優先順序比第一種高,就是說如果這條訊息裡攜帶了使用者資訊,再對這個 id 做重新整理操作,這條訊息顯示的使用者資訊不會改變。因此不建議混用,有特殊需求除外。