初始化&登录SDK

公有云服务器版本使用方法

注意: 该页面的初始化流程仅适用于公有云服务

3.1 获取appid

appID 请在StarRTC官网直接登录获取

3.2 初始化SDK

XHCustomConfig *config = [[XHCustomConfig alloc] init];
config.agentID = [AppConfig shareConfig].appId; //必填项
config.serverType = SERVER_TYPE_PUBLIC;
config.starLoginURL = appConfig.loginHost;
config.imScheduleURL = appConfig.messageHost;
config.chatRoomScheduleURL = appConfig.chatHost;
config.liveSrcScheduleURL = appConfig.uploadHost;
config.liveVdnScheduleURL = appConfig.downloadHost;
config.voipScheduleURL = appConfig.voipHost;
[config sdkInit:UserId];

3.3 获取authKey

appid会在您注册时生成,请登录官网查看;

authKey是每一位用户的身份授权标识,可以向您的服务器请求获取。

服务器生成authKey方法:目前需要您的服务器向星盒服务器发送请求来获取authKey,具体如下:

请求接口: https://api.starRTC.com/aec/authKey
参数:
appid: 您注册时会自动生成,请登录官网查看
secret:
userid(用户唯一标识)
返回 :失败 {status:0, data:“errorMsg”}
成功 {status:1, data:“authKey”}

3.4 登录/退出SDK

设置XHLoginManager的代理为当前对象本身,
获取XHLgoinManager类实例并添加XHLgoinManagerDelegate代理;
获取XHLgoinManager类实例并调用XHLoginManager的login方法来登录到SDK。

示例:

//设置代理
[[XHClient sharedClient].loginManager addDelegate:self];
/**
连接状态发生变化

@param state 状态
*/
- (void)connectionStateDidChange:(XHSDKConnectionState)state
{
}

/**
账户从其他设备登录
*/
- (void)userAccountDidLoginFromOtherDevice
{
}
/**
关闭啦,需要重新登录
*/
- (void)userAccountDidLogout
{
}

//登录SDK
[[XHClient sharedClient].loginManager login:UserId authKey:data completion:^(NSError *error) {
[UIWindow hiddenProgress];
if(error == nil){
[UIWindow ilg_makeToast:@"登录成功"];
self.userNickNameLabel.text = UserId;
self.loginButton.selected = YES;
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:@"UserOnline"];
} else{
[UIWindow ilg_makeToast:@"登录失败"];
self.userNickNameLabel.text = @"登录失败";
self.loginButton.selected = NO;
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:NO] forKey:@"UserOnline"];
}
}];
//退出SDK
[[XHClient sharedClient].loginManager logout]