//
//  VeLivePlayerHelper.m  // 修复：文件头部注释文件名错误
//  react-native-live-pull
//
//  Created by iOS Team on 2024/xx/xx.
//

#import <Foundation/Foundation.h>
#import <TTSDKFramework/TTSDKFramework.h>
#import "VeLivePlayerLoggerHelper.h"

#import "VeLivePlayerHelper.h"
@implementation VeLivePlayerHelper

+ (void)startWithConfiguration:(NSDictionary *)config {
    if (!config || ![config isKindOfClass:NSDictionary.class]) {
        NSLog(@"VeLivePlayerHelper: Invalid configuration");
        return;
    }

    NSString *licenseUri = [config valueForKey:@"LicenseUri"];
    NSString *appId = [config valueForKey:@"AppID"];

    TTSDKConfiguration *cfg = [TTSDKConfiguration defaultConfigurationWithAppID:appId
                                                                    licenseName:licenseUri];

    TTSDKLogConfiguration *logCfg = [TTSDKLogConfiguration new];
    logCfg.enableConsole = YES;
    logCfg.enableLogFile = YES;
    logCfg.enable = YES;

    cfg.logConfiguration = logCfg;
    //  通道配置，一般传分发类型，内测、公测、线上等  
    cfg.channel = [config valueForKey:@"AppChannel"];
    //  App 名称  
    cfg.appName = [config valueForKey:@"AppName"];
    //  版本号  
    cfg.appVersion = [config valueForKey:@"AppVersion"];

    id openLogValue = [config valueForKey:@"openLog"];
    cfg.shouldInitAppLog = (openLogValue != nil && [openLogValue isKindOfClass:[NSNumber class]]) ? [openLogValue boolValue] : YES;

    cfg.bizType = TTSDKServiceBizType_Live;

    [TTSDKManager setCurrentUserUniqueID:[config valueForKey:@"UserUniqueID"]];
    [TTSDKManager setShouldReportToAppLog:YES];
    
    [TTSDKManager startWithConfiguration:cfg];

    [VeLivePlayerLoggerHelper setHeaderInfo:@{
        @"appId": [config valueForKey:@"appLogAid"],
        @"headers": @{
            @"hybrid_ua": [config valueForKey:@"hybrid_ua"],
        }
    }];
}

@end