描述: RTC引擎核心类,负责RTC引擎的初始化、登录、登出等核心功能
版本支持: 3.10+
版本支持: 3.10+
接口概述: 获取RTC引擎单例对象
接口定义:
+ (instancetype)sharedEngine;
接口参数: 无
返回值:
返回值名 | 类型 | 描述 |
result | instancetype | RTC引擎单例对象 |
版本支持: 3.10+
接口概述: 添加代理
接口定义:
- (void)addDelegate:(id)delegate;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
delegate | 是 | 代理对象 |
返回值: 无
版本支持: 3.10+
接口概述: 移除代理
接口定义:
- (void)removeDelegate:(id)delegate;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
delegate | 是 | 代理对象 |
返回值: 无
版本支持: 3.10+
接口概述: 创建并初始化 XYRTCEngine 环境
接口定义:
- (void)create:(XYSettings *)settings;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
settings | 是 | 设置参数 |
返回值: 无
版本支持: 3.10+
接口概述: 释放sdk资源
接口定义:
- (void)releaseSdk;
接口参数: 无
返回值: 无
版本支持: 3.10+
接口概述: 更新SDK参数
接口定义:
- (void)updateSettings:(XYSettings *)settings;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
settings | 是 | 设置参数 |
返回值: 无
版本支持: 3.10+
接口概述: 获取SDK版本号
接口定义:
- (NSString *)getVersion;
接口参数: 无
返回值:
返回值名 | 类型 | 描述 |
result | NSString * | SDK版本号 |
版本支持: 3.10+
接口概述: 三方账号登录
接口定义:
- (void)login:(NSString *)userId username:(NSString *)username countryCode:(NSString *)countryCode;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
userId | NSString * | 否 | 用户唯一id,最大50个字符,支持大小写英文字母、数字、上横线"-"、下横线"_" |
username | NSString * | 否 | 用户名 |
countryCode | NSString * | 否 | 国家码,不传默认+86 |
返回值: 无
版本支持: 3.10+
接口概述: 小鱼账号登录
接口定义:
- (void)loginXYLinkAccount:(NSString *)account password:(NSString *)password;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
account | NSString * | 否 | 账号 |
password | NSString * | 否 | 密码 |
返回值: 无
版本支持: 3.10+
接口概述: 三方授权登录
接口定义:
- (void)loginByTokenWithAccount:(NSString *)account token:(NSString *)token;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
account | NSString * | 否 | 账户 |
token | NSString * | 否 | 第三方鉴权token |
返回值: 无
版本支持: 3.10+
接口概述: 企业关联账号登录
接口定义:
- (void)loginEnterpriseAccount:(NSString *)account;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
account | NSString * | 否 | 账号 |
返回值: 无
版本支持: 3.10+
接口概述: 小鱼账号登录(带国家码)
接口定义:
- (void)loginXYAccount:(NSString *)account password:(NSString *)password countryCode:(NSString *)countryCode;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
account | NSString * | 是 | 账号 |
password | NSString * | 是 | 密码 |
countryCode | NSString * | 否 | 国家码,不传默认+86 |
返回值: 无
版本支持: 3.10+
接口概述: 三方账号登录认证登录
接口定义:
- (void)loginExtUserId:(NSString *)extUserId authCode:(NSString *)authCode displayName:(NSString *)displayName;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
extUserId | NSString * | 是 | 用户唯一id |
authCode | NSString * | 是 | 认证授权码 |
displayName | NSString * | 是 | 用户名称 |
返回值: 无
版本支持: 3.10+
接口概述: 三方授权登录(基础版本)
接口定义:
- (void)loginExtToken:(NSString *)token;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
token | NSString * | 是 | 认证token,设备类型默认1 |
返回值: 无
版本支持: 3.10+
接口概述: 三方授权登录(带设备类型)
接口定义:
- (void)loginExtToken:(NSString *)token clientType:(NSInteger)clientType;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
token | NSString * | 是 | 认证token |
clientType | NSInteger | 是 | 设备类型,默认1,0不会使用 0-PC、1-APP、2-PAD |
返回值: 无
版本支持: 3.10+
接口概述: 单点登录
接口定义:
- (void)loginXYAccountWithToken:(NSString *)token;
接口参数:
参数名 | 类型 | 是否必填 | 描述 |
token | NSString * | 是 | 认证token |
返回值: 无
版本支持: 3.10+
接口概述: 登出
接口定义:
- (void)logout;
接口参数: 无
返回值: 无
版本支持: 3.10+
接口概述: 是否已登录
接口定义:
- (BOOL)isLogined;
接口参数: 无
返回值:
返回值名 | 类型 | 描述 |
result | BOOL | 是否已登录 |
// 获取单例
XYRTCEngine *engine = [XYRTCEngine sharedEngine];
// 设置代理
[engine addDelegate:self];
// 创建并初始化
XYSettings *settings = [XYSettings sharedSettings];
// 配置settings参数
[engine create:settings];
// 获取版本号
NSString *version = [engine getVersion];
NSLog(@"SDK版本: %@", version);
// 检查登录状态
BOOL isLoggedIn = [engine isLogined];
NSLog(@"是否已登录: %@", isLoggedIn ? @"是" : @"否");
// 三方账号登录
[engine login:@"user123"
username:@"张三"
countryCode:@"+86"];
// 小鱼账号登录
[engine loginXYLinkAccount:@"test@example.com"
password:@"password123"];
// 三方授权登录
[engine loginByTokenWithAccount:@"user123"
token:@"auth_token_123"];
// 企业关联账号登录
[engine loginEnterpriseAccount:@"enterprise_user"];
// 小鱼账号登录(带国家码)
[engine loginXYAccount:@"test@example.com"
password:@"password123"
countryCode:@"+86"];
// 三方账号认证登录
[engine loginExtUserId:@"ext_user_123"
authCode:@"auth_code_456"
displayName:@"李四"];
// 三方授权登录(基础版本)
[engine loginExtToken:@"token_789"];
// 三方授权登录(带设备类型)
[engine loginExtToken:@"token_789"
clientType:1]; // 1-APP
// 单点登录
[engine loginXYAccountWithToken:@"sso_token_123"];
@interface MyViewController ()
@property (nonatomic, strong) XYRTCEngine *engine;
@end
@implementation MyViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 初始化引擎
self.engine = [XYRTCEngine sharedEngine];
[self.engine addDelegate:self];
// 创建引擎
XYSettings *settings = [XYSettings sharedSettings];
// 配置settings
[self.engine create:settings];
}
- (void)login {
// 执行登录
[self.engine login:@"user123"
username:@"张三"
countryCode:@"+86"];
}
- (void)logout {
// 执行登出
[self.engine logout];
}
- (void)dealloc {
// 移除代理
[self.engine removeDelegate:self];
// 释放资源
[self.engine releaseSdk];
}
#pragma mark - XYRTCEngineDelegate
- (void)onLoginResult:(XYUserInfo *)userInfo errorCode:(NSString *)errorCode {
if (userInfo) {
NSLog(@"登录成功: %@", userInfo.userId);
} else {
NSLog(@"登录失败: %@", errorCode);
}
}
- (void)onLogout {
NSLog(@"用户已登出");
}
@end
// 更新SDK设置
XYSettings *newSettings = [[XYSettings alloc] init];
// 配置新的设置参数
[engine updateSettings:newSettings];