融雲集成2--使用者資訊在會話列表和會話介面的顯示
阿新 • • 發佈:2019-01-24
使用者資訊(頭像)如何重新整理?
為什麼呼叫 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 做重新整理操作,這條訊息顯示的使用者資訊不會改變。因此不建議混用,有特殊需求除外。