tencent cloud

即时通信 IM

动态与公告
产品动态
公告
产品简介
产品概述
基本概念
应用场景
功能介绍
账号系统
用户资料与关系链
消息管理
群组相关
公众号系统
音视频通话 Call
使用限制
购买指南
计费概述
价格说明
购买指引
续费指引
停服说明
退费说明
开发指引
Demo 专区
开通服务
体验 Demo
快速跑通
下载中心
SDK & Demo 源码
更新日志
聊天互动(含 UI)
TUIKit 组件介绍
快速开始
全功能接入
单功能接入
AI 集成
构建基础界面
更多特性
定义外观
国际化界面语言
推送服务(Push)
服务概述
名词解释
开通服务
快速跑通
厂商通道
数据统计
排查工具
客户端 API
服务端 API
推送回调
高级功能
更新日志
错误码
常见问题
智能客服
功能概述
快速入门
集成指引
管理员操作手册
客服操作手册
更多实践
直播间搭建
AI 聊天机器人方案
超大娱乐协作社群
Discord 实现指南
游戏内集成 Chat 指南
类 WhatsApp Channel 搭建方案
发送红包
Chat 应对防火墙限制相关
无 UI 集成
快速开始
集成 SDK
初始化
登录登出
消息相关
会话相关
群组相关
社群话题
用户管理
离线推送
云端搜索
本地搜索
公众号
客户端 API
JavaScript
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C 接口
C++
服务端 API
生成 UserSig
REST API
第三方回调
控制台指南
新版控制台介绍
创建并升级应用
基本配置
功能配置
账号管理
群组管理
公众号管理
回调配置
用量统计
资源包查看指南
实时监控
开发辅助工具
访问管理
高级功能
常见问题
uni-app 常见问题
购买相关问题
SDK 相关问题
账号鉴权相关问题
用户资料与关系链相关问题
消息相关问题
群组相关问题
直播群相关问题
昵称头像相关问题
协议与认证
服务等级协议
安全合规认证
IM 政策
隐私政策
数据隐私和安全协议
平滑迁移方案
平滑迁移完整版
平滑迁移简化版
错误码
联系我们
文档即时通信 IM常见问题昵称头像相关问题

昵称头像相关问题

PDF
聚焦模式
字号
最后更新时间: 2024-02-19 11:57:39

会话昵称和头像的更新

会话本身不存储昵称和头像,会话的昵称和头像是 SDK 获取本地用户资料或群资料填充的。对单聊会话,SDK 会取对方的昵称和头像填充;对群聊会话,SDK 会取群名称和群头像填充,为尽量让本地用户资料或群组资料保持最新,SDK 针对单聊和群聊在最新的版本分别做了以下优化:
单聊会话
优化一:当用户主动获取会话或 SDK 回调会话更新时,SDK 如果检测到本地没有对方的用户资料,会去服务器同步一次该用户资料保存在本地,保证对方的用户资料本地是存在的。
优化二:如果好友资料发生了变更,SDK 会收到后台下发的资料变更通知并及时更新本地用户资料;如果陌生人资料发生变更,后台不会下发该通知,因此本地陌生人资料不会更新,当您需要关心陌生人资料时请主动调用获取资料接口来更新本地资料。
优化三:后台下发消息时会在消息体内带上用户最新的昵称和头像,SDK 收到消息后如果发现本地有该用户资料,会及时更新昵称和头像到本地用户资料。
根据上述优化,如果是好友,SDK 可以保证会话中的昵称和头像是最新的,如果是陌生人,SDK 则无法保证,需要按需拉取。
群聊会话:
优化一:用户在进行 "加群" 操作时,加群成功后,SDK 会主动获取群资料并保存在本地。
优化二:已加入群的群资料被修改后,后台会通知客户端,客户端也会及时更新本地群资料。
根据上述优化,SDK 可以保证已加入的群的会话昵称和头像是最新的,没有加入的群的会话或者已经退出的群的会话,SDK 无法保证昵称和头像是最新的。
注意:
用户资料和群资料的变更不会触发会话更新,只有等到下次会话操作(例如主动获取会话,设置会话已读,收发消息等)会话昵称和头像才会更新过来。
陌生人和自己并不存在关系链,陌生人资料的修改,后台不会下发通知,用户本地资料也不会更新,只有等客户主动拉取用户资料才会更新。

消息列表中昵称和头像的更新

消息本身会存储昵称和头像,为了尽量让消息里面的昵称和头像保持最新,SDK 在最新版本做了以下优化:
优化一:后台下发消息时会带上用户最新的昵称和头像信息,SDK 收到消息后,如果本地有该用户资料,会及时更新本地用户资料,保证消息和本地用户资料的昵称和头像都是最新的。
优化二:消息在收发成功之后,消息中存储的昵称和头像已经无法修改了,为了让历史消息也能拿到用户新的昵称和头像,在通过消息获取昵称和头像字段时,SDK 会先查询本地用户资料,如果存在则返回本地的昵称和头像(根据优化一,本地的昵称和头像会根据新消息实时更新),如果不存在,则返回消息体内的昵称和头像。
根据上述优化,对于新消息,SDK 是可以保证昵称和头像都是最新的;对于历史消息,SDK 无法保证昵称和头像都是最新的,当本地存在消息发送者资料,历史消息的昵称和头像才会更新。

常见问题

根据上面文档的描述,SDK 在最新版本针对昵称和头像问题做了很多优化,如果您遇到了昵称和头像的问题,请优先升级到 SDK 最新版本 查看问题是否已经解决,如果还未解决,请参见下面常见问题:

昵称和头像发生了变化,会话没有立即更新?

昵称和头像变化不会触发会话更新,只有等到下次会话操作(例如主动获取会话,设置会话已读,收发消息等)会话昵称和头像才会更新过来,针对这种情况,您可以主动监听好友资料或群资料变更通知来更新会话的昵称和头像。

陌生人昵称和头像发生变化,会话一直无法更新?

因为陌生人和自己并不存在关系链,当陌生人资料发生变更的时候,后台也不会下发通知,本地陌生人资料也就无法更新,只有等到下次主动拉该用户资料或者收到该用户发出的消息(消息会携带用户最新的昵称和头像信息,SDK 收到消息后会更新本地用户资料)会话的昵称和头像才会更新过来。

历史消息的昵称和头像无法更新?

请参见消息列表中昵称和头像的更新下的 优化二,如果本地没有消息发送者资料,历史消息的昵称和头像无法更新,只有等到主动拉取过该用户的资料,历史消息的昵称和头像才会更新。

SDK 为什么不在会话更新或者收到消息的时候主动去后台拉取下用户资料?

会话的更新和消息的收发都是高频事件,如果每次都去后台同步用户资料,会给客户端和后台造成巨大的压力,会严重影响程序的性能,这里也不建议客户在这两种情况下主动去拉取用户资料,同样会有严重性能问题,建议的做法是在用户点击消息头像的时候再去主动拉取一次用户资料。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈