BRTC SDK 提供了发送自定义消息的功能,通过该功能,角色为主播的用户都可以向同一个房间里的其他用户广播自定义消息。
通过调用 sendCustomCmdMsg 接口来发送自定义消息|
//发送自定义消息的示例代码 - (void)sendBRTC { // cmdID 可以根据您的业务逻辑定制一套规则,以识别不同的命令。取值范围 1~10 NSInteger cmdID = 1; NSData *data = [@"brtc" dataUsingEncoding:NSUTF8StringEncoding]; // reliable 和 ordered 参数目前尚未启用(截至 SDK 3.13) [brtc sendCustomCmdMsg:cmdID data:data reliable:YES ordered:YES]; }
当房间中的一个用户通过 sendCustomCmdMsg 发出自定义消息后,房间中其他的用户可以通过 SDK 回调中的 onRecvCustomCmdMsgUserId 接口来接收这些消息。
// 继承 BRTCDelegate,实现 onRecvCustomCmdMsgUserId 方法接收和处理房间内其他人发送的消息 - (void)onRecvCustomCmdMsgUserId:(NSString *)userId cmdID:(NSInteger)cmdId seq:(UInt32)seq message:(NSData *)message { // 接收到 userId 发送的消息 switch (cmdId) // 发送方和接收方协商好的cmdId { case 0: // 处理cmdId = 0消息 break; case 1: // 处理cmdId = 1消息 break; case 2: // 处理cmdId = 2消息 break; default: break; } }
由于自定义消息享受比音视频数据更高的传输优先级,如果自定义数据发送过多,音视频数据可能会被干扰到,从而导致画面卡顿或者模糊。所以,我们针对自定义消息的发送进行了如下的频率限制:
发送自定义消息
BRTC SDK 提供了发送自定义消息的功能,通过该功能,角色为主播的用户都可以向同一个房间里的其他用户广播自定义消息。
消息发送
通过调用 sendCustomCmdMsg 接口来发送自定义消息|
消息接收
当房间中的一个用户通过 sendCustomCmdMsg 发出自定义消息后,房间中其他的用户可以通过 SDK 回调中的 onRecvCustomCmdMsgUserId 接口来接收这些消息。
使用限制
由于自定义消息享受比音视频数据更高的传输优先级,如果自定义数据发送过多,音视频数据可能会被干扰到,从而导致画面卡顿或者模糊。所以,我们针对自定义消息的发送进行了如下的频率限制: