更新时间: 2021-03-08

可在指定聊天室中设置自定义属性,用于语音直播聊天室场景的会场属性同步或狼人杀等卡牌类游戏场景中记录用户的角色和牌局状态等。

  1. 每个聊天室中,最多允许设置 100 个属性信息,以 Key-Value 的方式进行存储。
  2. 每个聊天室中,每秒钟最多允许操作 Key-Value 100 次。
  3. 聊天室销毁后,聊天室中的自定义属性同时销毁。
  4. 使用此功能需要在开发者后台免费基础功能中开通 聊天室属性自定义设置 (opens new window)功能。

# 设置属性

设置聊天室自定义属性,当 key 不存在时,代表增加属性; 当 key 已经存在时,代表更新属性的值,且只有 key 的创建者可以更新属性的值。

# 参数说明

输入参数说明

参数 类型 必填 说明
chatroomId NSString 聊天室的 chatroomId
key NSString 聊天室属性名称,Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,最大长度 128 个字符
value NSString 聊天室属性对应的值,最大长度 4096 个字符
sendNotification BOOL 是否需要发送通知,
autoDelete BOOL 用户掉线或退出时,是否自动删除该 Key、Value 值;自动删除时不会发送通知
notificationExtra NSString 通知的自定义字段,RC:chrmKVNotiMsg 通知消息中会包含此字段,最大长度 2 kb
successBlock Block - 成功的回调
errorBlock Block - 失败的回调

返回参数说明

error 说明:

回调参数 回调类型 说明
status RCErrorCode 获取失败的错误码
# 代码示例
[[RCIMClient sharedRCIMClient] setChatRoomEntry:chatroomId
                                            key:key
                                          value:value
                                sendNotification:isNotice
                                      autoDelete:isDelete
                              notificationExtra:extra
                                        success:^{}
                                          error:^(RCErrorCode nErrorCode) {}];
已复制
1
2
3
4
5
6
7
8

# 强制设置属性

强制设置聊天室自定义属性,当 key 不存在时,代表增加属性; 当 key 已经存在时,代表更新属性的值。

# 参数说明

输入参数说明

参数 类型 必填 说明
chatroomId NSString 聊天室的 chatroomId
key NSString 聊天室属性名称,Key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,最大长度 128 个字符
value NSString 聊天室属性对应的值,最大长度 4096 个字符
sendNotification BOOL 是否需要发送通知,
autoDelete BOOL 用户掉线或退出时,是否自动删除该 Key、Value 值;自动删除时不会发送通知
notificationExtra NSString 通知的自定义字段,RC:chrmKVNotiMsg 通知消息中会包含此字段,最大长度 2 kb
successBlock Block - 成功的回调
errorBlock Block - 失败的回调

返回参数说明

error 说明:

回调参数 回调类型 说明
status RCErrorCode 获取失败的错误码
# 代码示例
[[RCIMClient sharedRCIMClient] forceSetChatRoomEntry:chatroomId
                                                key:key
                                              value:value
                                  sendNotification:isNotice
                                        autoDelete:isDelete
                                  notificationExtra:extra
                                            success:^{}
                                              error:^(RCErrorCode nErrorCode) {}];
已复制
1
2
3
4
5
6
7
8

# 批量设置属性

批量设置聊天室自定义属性,当 key 不存在时,代表增加属性; 当 key 已经存在时,代表更新属性的值。

# 参数说明

输入参数说明

参数 类型 必填 说明
chatroomId NSString 聊天室的 chatroomId
entries NSDictionary 聊天室属性,key 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式,最大长度 128 个字符,value 聊天室属性对应的值,最大长度 4096 个字符,最多一次设置 10 条
isForce BOOL 是否强制覆盖
autoDelete BOOL 用户掉线或退出时,是否自动删除该 Key、Value 值;自动删除时不会发送通知
successBlock Block - 成功的回调
errorBlock Block - 失败的回调

返回参数说明

error 说明:

回调参数 回调类型 说明
nErrorCode RCErrorCode 获取失败的错误码
entries NSDictionary 当 nErrorCode 为 RC_KV_STORE_NOT_ALL_SUCCESS(23428)的时候,entries 才会有值(key 为设置失败的 key,value 为该 key 对应的错误码)
# 代码示例
[[RCChatRoomClient sharedChatRoomClient] setChatRoomEntries:chatroomId
                                                    entries:entries
                                                    isForce:isForce
                                                 autoDelete:isDelete
                                                    success:^{ }
                                                      error:^(RCErrorCode nErrorCode, NSDictionary * _Nonnull entries) { }];
已复制
1
2
3
4
5
6

文档是否解决您的问题 ?

如果遇到产品相关问题,您可 提交工单 寻求帮助