提交工单
咨询集成、功能及报价等问题
RoomKit 提供的接入方案,为不同的业务方案提供了适配方式:
本篇文档基于上述的第一种场景介绍实现流程。
接入架构图:
在这个架构中,您需要通过您自己的业务系统实现以下业务逻辑:
加入房间后,您就可以开始使用 RoomKit 提供的房间功能,实现效果示意图如下:
在实现基本的功能之前,请确保:
使用 RoomKit SDK 只需三步,即可快速搭建一个音视频应用,流程图如下:
#import <ZegoRoomKitUI/ZegoRoomKitUI.h>
@interface ZegoInitConfig : NSObject
/// 由Zego后台分配
@property (nonatomic, assign) NSInteger secretID;
@end
// 构建 ZegoInitConfig 实例
ZegoInitConfig *config = [[ZegoInitConfig alloc] init];
config.secretID = 123456; // ZEGO 分配的 secretID
// 初始化 SDK
[[ZegoRoomKit sharedInstance] initWithConfig:config completion:^(ZegoRoomKitError error) {
}];
您可以通过调用 RoomKit 服务端 API 获取 SDK Token 接口 获取 SDK Token。
我们提供了 服务端 API 调测指南 帮助您使用 Postman 快速调用接口进行调试。
建议开发者使用业务服务器向 RoomKit 服务器请求 SDK Token 以保证鉴权数据安全。
加入房间需要以下信息:
RoomKit SDK 支持使用任意用户 ID(64位数值型)和房间 ID(64位数值型)加入房间。
为了避免数据错乱以及成员互踢等现象,开发者需要保证用户 ID 和房间 ID 的全局唯一性。
如果开发者需要接入 Web 端,H5 移动端或微信小程序端,用户 ID 和房间 ID 需要控制在53位整形内,避免 JS 语言里整形越界。
使用上述信息,设置 加入房间配置对象。
/// 加入房间配置对象
///
@interface ZegoJoinRoomConfig : NSObject
/// 房间号
@property (nonatomic, copy) NSString *roomID;
/// 项目 ID
@property (nonatomic, assign) NSInteger productID;
/// token
@property (nonatomic, copy) NSString *token;
/// 用户名
@property (nonatomic, copy) NSString *userName;
/// 用户 ID
@property (nonatomic, assign) NSInteger userID;
/// 加入房间时的角色
@property (nonatomic, assign) ZegoRoomKitRole role;
@end
// 实例化 config
ZegoJoinRoomConfig *config = [ZegoJoinRoomConfig new];
config.roomID = @"123456789"; // 房间 ID
config.productID = 1234; // productID
config.userName = @"anne"; // 用户名
config.userID = 123456789; // 用户 ID
config.role = ZegoRoomKitRoleAttendee; // 以观众身份加入房间
config.token = @"qwertyuiop"; // token,调用对应 Server API 获取
// 加入房间
[[ZegoRoomKit sharedInstance].inRoomService joinRoomWithConfig:config
fromVC:fromVC
completion:^(ZegoRoomKitError errorCode) {
}];
联系我们
文档反馈