本文介绍如何初始化 iOS 拉流 SDK。视频直播 SDK 只需要初始化一次。
集成直播 SDK 后,在 App 启动时需要对 SDK 进行配置,操作示例如下所示。
#import <TTSDK/TTSDKManager.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 您必须首先获取相关用户个人数据的使用权限,再进行 SDK 配置 [self setupSDKWithAppID]; // 在此处添加您自己的代码 return YES; } - (void)setupSDKWithAppID { // ..... }
- (void)setupSDKWithAppID { // 使用申请到的 APPID 创建 TTSDKConfiguration TTSDKConfiguration *configuration = [TTSDKConfiguration defaultConfigurationWithAppID:@"xxxxxx"]; // 填入控制台的 App 信息 configuration.appName = @"AppName"; configuration.channel = @"local_test"; configuration.bundleID = @"BundleID"; }
- (void)setupSDKWithAppID { //... configuration.licenseFilePath = [NSBundle.mainBundle pathForResource:@"path/to/license" ofType:nil]; //... }
初始化 SDK 时,将 TTSDKConfiguration 传入 TTSDKManager。
开启日志上报功能后,您可以结合日志信息对线上问题进行分析,帮助定位问题原因。SDK 默认关闭日志上报功能。您可以在初始化 SDK 时开启日志上报,并按需设置日志输出级别。
说明
仅 1.50.2 及以上版本支持开启日志上报功能。
- (void)setupSDKWithAppID { TTSDKLogConfiguration *logConfig = [[TTSDKLogConfiguration alloc] init]; // 开启日志上报功能。 logConfig.enable = YES; // 设置日志输出级别。默认值为 TTSDKLogLevelDebug。 logConfig.logLevel = TTSDKLogLevelInfo; // 使用申请到的 APPID 创建 TTSDKConfiguration TTSDKConfiguration *configuration = [TTSDKConfiguration defaultConfigurationWithAppID:@"xxxxxx"]; // 填入控制台的 App 信息 configuration.appName = @"AppName"; configuration.channel = @"local_test"; configuration.bundleID = @"BundleID"; configuration.licenseFilePath = [NSBundle.mainBundle pathForResource:@"path/to/license" ofType:nil]; configuration.logConfiguration = logConfig; [TTSDKManager startWithConfiguration:configuration]; }
初始化 SDK 时,可设置以下日志输出级别:
TTSDKLogLevelVerbose:输出 VERBOSE、DEBUG、INFO、WARNING 和 ERROR 级别的日志。TTSDKLogLevelDebug:输出 DEBUG、INFO、WARNING 和 ERROR 级别的日志。TTSDKLogLevelInfo:输出 INFO、WARNING 和 ERROR 级别的日志。TTSDKLogLevelWarn:输出 WARNING 和 ERROR 级别的日志。TTSDKLogLevelError:输出 ERROR 级别的日志。说明
在初始化 SDK 后,如需变更日志输出级别,可调用 setLogLevel: 。
为便于线上问题排查和质量数据分析,埋点上报功能默认开启。如有特殊的数据保密要求,您可以通过将 TTSDKConfiguration 的 shouldInitAppLog 取值设置为 NO 来关闭埋点上报。
- (void)setupSDKWithAppID { //.... configuration.shouldInitAppLog = NO; //.... }