TIMMsgSetMessageExtensions
功能介绍
设置消息扩展
需要您购买旗舰版套餐
消息需满足三个条件:1、消息发送前需设置 message_support_message_extension 为 true,2、消息必须是发送成功的状态,3、消息不能是社群(Community)和直播群(AVChatRoom)消息。
如果扩展 key 已经存在,则修改扩展的 value 信息,如果扩展 key 不存在,则新增扩展。
扩展 key 最大支持 100 字节,扩展 value 最大支持 1KB,单次最大支持设置 20 个扩展,单条消息最多可设置 300 个扩展。
当多个用户同时设置同一个扩展 key 时,只有第一个用户可以执行成功,其它用户会收到 23001 错误码和更新后的拓展信息,在收到错误码和最新扩展信息后,请按需重新发起设置操作。
我们强烈建议不同的用户设置不同的扩展 key,这样大部分场景都不会冲突,比如投票、接龙、问卷调查,都可以把自己的 userID 作为扩展 key。
参数详解
| 参数名称 | 参数类型 | 是否必填 | 描述 |
|---|---|---|---|
| msgSetMessageExtensionsParam | TIMMsgSetMessageExtensionsParam | 是 | 设置消息扩展的参数 |
返回模板
Promise<commonResult<string>>
{
code: TIMResult | TIMErrCode;
desc?: string | undefined;
json_param?: string | undefined;
json_params?: string | undefined; // 兼容
user_data?: string | undefined;
}
返回值详解
| 名称 | 数值类型 | 描述 |
|---|---|---|
| code | TIMResult | TIMErrCode | 返回状态码 |
| desc | string | undefined | 返回描述 |
| json_param | string | undefined | 根据具具体接口返回 |
| json_params | string | undefined | 兼容的字段,某些情况下会返回这个,根据具体接口返回 |
| user_data | string | undefined | ImSDK负责透传的用户自定义数据,未做任何处理 |
代码示例
TIMMsgSetMessageExtensions: async () => {
var message = await advanceMessageManager.TIMMsgGetMsgList(null);
let m = message.json_params[1];
m.message_support_message_extension = true;
let param: TIMMsgSetMessageExtensionsParam = {
json_msg: m,
json_extension_array: [{
message_extension_key: "key",
message_extension_value: "value"
}],
user_data: ""
}
return timRenderInstance.TIMMsgSetMessageExtensions(param);
}