대화 닉네임 및 프로필 사진 업데이트
대화 자체에는 닉네임과 프로필 사진이 저장되지 않습니다. 따라서 SDK는 로컬에 저장된 사용자 프로필 정보 또는 그룹 프로필 정보를 가져와 대화에 사용합니다. 1:1 대화의 경우 SDK는 다른 사용자의 닉네임과 프로필 사진을 가져와 사용합니다. 그룹 대화의 경우 SDK는 그룹 이름과 그룹 프로필 사진을 가져와 사용합니다. 로컬 사용자 프로필 정보 및 그룹 프로필 정보를 최신 상태로 유지하기 위해, 최신 SDK 버전은 다음과 같이 최적화되었습니다.
1:1 대화:
ⅰ. 사용자가 대화를 자발적으로 가져오기 하거나 SDK가 대화 업데이트를 콜백할 때, SDK가 로컬에 다른 사용자의 프로필 정보가 없음을 감지하면, 서버에서 사용자 프로필 정보를 동기화하고 로컬에 저장합니다.
ⅱ. 친구의 프로필 정보가 변경되면, SDK는 백엔드에서 변경 알림을 수신하고, 친구의 프로필 정보를 로컬로 업데이트합니다. 낯선 사람의 프로필 정보가 변경되면 백엔드에서 알림을 보내지 않으므로, 낯선 사람의 프로필 정보는 로컬에 업데이트되지 않습니다. 낯선 사람의 프로필 정보를 가져와 로컬에 업데이트하려면 getFriendsInfo API를 자발적으로 호출해야 합니다.
ⅲ. 메시지를 보낼 때 백엔드는 사용자의 최신 닉네임과 프로필 사진을 메시지 본문에 첨부합니다. 메시지 수신 후 사용자의 프로필 정보가 이미 로컬 저장소에 있는 경우, SDK는 닉네임과 프로필 사진을 로컬에 업데이트합니다.
상기 내용을 요약하면, SDK는 친구와의 대화에서 닉네임과 프로필 사진이 최신 상태인지 확인합니다. 낯선 사람과의 대화에서는 SDK는 이를 보장할 수 없으며, 필요한 경우 닉네임과 프로필 사진을 가져오기 해야 합니다.
그룹 대화:
그룹에 참여하면 SDK가 자발적으로 그룹 프로필 정보를 가져와 로컬에 저장합니다.
가입한 그룹의 프로필 정보가 수정되면, 백엔드에서 클라이언트에게 이를 알리고 클라이언트는 즉시 로컬에 그룹 프로필 정보를 업데이트합니다.
상기 내용을 요약하면, SDK는 참여한 그룹의 닉네임과 프로필 사진이 최신 상태인지 확인합니다. 참여하지 않았거나 탈퇴한 그룹에 대해서는 해당 작업을 진행하지 않습니다.
주의:
사용자 프로필 정보 또는 그룹 프로필 정보를 변경해도 대화 업데이트가 트리거되지 않습니다. 따라서 대화의 닉네임과 프로필 사진은 다음 번 대화 작업(예: 자발적인 대화 가져오기, 대화를 읽은 상태로 표시, 메시지 수발신)이 수행될 때까지 업데이트되지 않습니다.
나 자신과 낯선 사람 사이에는 관계망이 없습니다. 낯선 사람의 프로필 정보가 변경되면, 백엔드는 알림을 보내지 않으며, 낯선 사람의 로컬 프로필 정보는 업데이트되지 않습니다. 낯선 사람의 프로필을 자발적으로 풀링할 때만 업데이트됩니다.
메시지 목록의 닉네임 및 프로필 사진 업데이트
메시지에는 닉네임과 프로필 사진이 저장됩니다. 메시지의 닉네임과 프로필 사진을 최신 상태로 유지하기 위해, 최신 SDK 버전은 다음과 같이 최적화되었습니다.
ⅰ. 메시지를 보낼 때 백엔드는 사용자의 최신 닉네임과 프로필 사진을 메시지 본문에 첨부합니다. 메시지 수신 후, 사용자의 프로필 정보가 이미 로컬에 있는 경우 SDK는 닉네임과 프로필 사진을 로컬로 업데이트합니다.
ⅱ. 메시지 수발신이 완료된 후에는 메시지에 저장된 닉네임과 프로필 사진을 수정할 수 없습니다. 메시지 기록에도 새 닉네임과 프로필 사진을 가져오기 위해서 SDK가 메시지를 통해 닉네임 및 프로필 사진 필드를 얻으려고 할 때, 먼저 로컬 사용자 프로필 정보를 쿼리합니다. 로컬 사용자 프로필 정보가 있는 경우, 로컬 닉네임과 프로필 사진이 반환됩니다(최적화ⅰ에 기술된 바와 같이, 로컬 닉네임 및 프로필 사진은 새 메시지에 따라 실시간으로 업데이트됩니다). 그렇지 않을 경우, 메시지 본문의 닉네임 및 프로필 사진이 반환됩니다.
상기 내용을 요약하면, SDK는 새 메시지의 닉네임과 프로필 사진이 최신 상태인지 확인하지만, 과거 메시지의 닉네임과 프로필 사진은 확인하지 않습니다. 메시지 기록의 닉네임과 프로필 사진은 보낸 사람의 프로필 정보가 로컬 저장소에 있는 경우에만 업데이트됩니다.
FAQ
상기 내용과 같이, 최신 SDK 버전은 닉네임과 프로필 사진 관련 최적화가 많이 진행되어 있습니다. 닉네임 및 프로필 사진 관련 문제 발생 시, 먼저 SDK 최신 버전으로 업그레이드한 후, 문제가 해결되었는지 확인하십시오. 만약 해결되지 않은 경우, 다음 FAQ를 참고하십시오. 닉네임과 프로필 사진이 변경되었는데 대화에 즉시 업데이트되지 않는 이유는 무엇입니까?
닉네임 및 프로필 사진 변경은 대화 업데이트를 트리거하지 않습니다. 따라서 대화의 닉네임과 프로필 사진은 다음 번 대화 작업(예: 대화 가져오기, 대화를 읽은 상태로 표시, 메시지 수발신)이 수행될 때까지 업데이트되지 않습니다. 그러나 친구 또는 그룹 프로필 정보 업데이트 알림 수신을 통해 닉네임과 프로필 사진을 업데이트할 수 있습니다.
낯선 사람의 닉네임과 프로필 사진이 변경되었는데 대화에 계속 업데이트되지 않는 이유는 무엇입니까?
나 자신과 낯선 사람 사이에는 관계망이 없습니다. 낯선 사람의 프로필 정보가 변경되면 백엔드는 알림을 보내지 않으며, 낯선 사람의 로컬 프로필 정보는 업데이트되지 않습니다. 낯선 사람의 프로필 정보를 자발적으로 가져오기 하거나 낯선 사람의 메시지를 수신할 때만 업데이트됩니다. 메시지에는 낯선 사람의 최신 닉네임과 프로필 사진이 포함되며 SDK는 메시지를 수신한 후 로컬에 업데이트합니다.
메시지 기록의 닉네임과 프로필 사진을 업데이트할 수 없는 이유는 무엇입니까?
메시지 목록의 닉네임 및 프로필 사진 업데이트의 최적화 ⅱ를 참고하십시오. 로컬에 보낸 사람의 프로필 정보가 없으면 메시지 기록의 닉네임과 프로필 사진이 업데이트되지 않습니다. 발신자의 프로필을 자발적으로 가져오기할 때만 업데이트됩니다. 대화 업데이트 또는 메시지 수신 시 SDK가 사용자 프로필 정보를 자발적으로 가져오지 않는 이유는 무엇입니까?
대화 업데이트와 메시지 수발신은 모두 빈번한 이벤트입니다. 매번 사용자 프로필을 동기화하면 클라이언트와 백엔드에 큰 부담을 주어 애플리케이션 성능에 심각한 영향을 미칩니다. 그러므로, 두 가지 경우 모두 사용자 프로필 정보를 자발적으로 가져오지 않는 것이 좋습니다. 사용자가 메시지의 프로필 사진을 클릭할 때 사용자 프로필 정보를 가져오기하는 방법을 권장합니다.
문제 해결에 도움이 되었나요?