自定义消息发送者及头像

更新时间:2025-01-24 05:48:40

当消息到达时,客户端SDK不仅会将消息本身传递给业务端,还会触发相应的回调机制,以便业务能够即时接收到并处理该消息。

说明

如何监听消息请参见监听消息

客户端发送消息

在用户通过客户端登录的过程中,系统将自动获取并配置好用于后续消息发送操作的发送者信息。userIduserExtension会作为发送者的信息,包含在接收端的ImMessage中。

ImLoginReq req = new ImLoginReq();

req.user.userId = userId;
//透传业务额外信息
Map<String, Object> data = new HashMap<>();
data.put("level", "high");
req.user.userExtension = App.getGson().toJson(data).toString();

req.userAuth = new ImAuth(nonce,  timestamp, role, app_token);
AliVCIMEngine.instance().login(req, new ImSdkCallback());

服务端发送消息

SendLiveMessageGroup - 发送消息到群组SendLiveMessageUser - 发送消息给指定用户 接口,都包括以下发送者信息。

名称

类型

必填

描述

示例值

名称

类型

必填

描述

示例值

SenderId

string

发送消息的用户 ID,由大小写字母、数字组成,长度不超过 64 字节。

uid1

SenderInfo

string

发送消息为用户的扩展信息,长度不超过 512 字节。

uid1meta1

重要

SenderIdSenderInfo两个字段会被包含在接收端收到的ImMessage中。

  • 为了确保信息的一致性和简化解析逻辑,建议将SenderInfo的定义与客户端登录时使用的userExtension格式相同。

  • 对于由服务端发起的消息(无论是模拟用户行为还是发送系统通知),虽然不会对SenderId进行有效性检查,并且不要求该ID必须属于某个特定群组内的成员,但仍然推荐合理设置这些参数以增强消息的真实感和可靠性。

    AI助理

    点击开启售前

    在线咨询服务

    你好,我是AI助理

    可以解答问题、推荐解决方案等