发送和接收房间内消息时,发送者和接收者必须已在房间内。成功进房的标志是收到 onRoomStateChanged
回调通知。
以 Android SDK 为例。
onRoomStateChanged
onRoomStateChanged
每条消息的原始大小不能超过 64KB。
为了获得低延迟的实时消息体验,消息发送频率应同时满足以下要求。
如有更高的消息频率需求,请联系技术支持。
单个房间内所有用户发送的消息次数之和。不区分发送方式,包含客户端发送和调用 OpenAPI 发送。
例如, 用户 A 在 1 秒内发送房间内消息 10 条,用户 B 发送 20 条,则这 1 秒内的房间消息发送次数计为 30 次。不超过房间内消息要求的频率上限。
对于每个 AppId,调用 SendUnicast、SendRoomUnicast、SendBroadcast 与 BatchSendRoomUnicast 的频率上限之和为 500 次/秒。
例一,调用 1 次 BatchSendRoomUnicast 将同一消息给 50 名用户,计为发送 50 次。
例二,1 秒内调用 SendUnicast 和 SendRoomUnicast 各 200 次,计为 400 次。Open API 发送消息不超过 500 次/秒,但不能满足单个房间内消息的频率上限 100 次/秒的要求。
对于单个客户端,不同类型的消息发送频率要求如下。
例一, 1 秒内调用 sendUserMessage 发送 100 次,又调用 sendUserMessageOutsideRoom 发送 50 次。两个方法发送的消息类型都是点对点消息,需要累加统计,则这 1 秒内的点对点消息发送计为 150 次。超过了点对点消息要求的频率上限。
例二, 1 秒内调用 sendUserMessage 发送 10 次,又调用 sendRoomMessage 发送 5 次。则这 1 秒内的点对点消息发送计为 10 次,广播消息 5 次。不超过消息类型对应的频率上限要求。
消息分类对应的方法详见下表。以 Android SDK 为例。