全链路iOS授权说明

一、获取API Key

前往DUI控制台,进入产品详情页面,在授权管理页面中点击【申请API Key】。在如下弹窗中填写名称和Bundle ID,点击确定完成授权配置,获取API Key。
Minion

在SDK初始化时,可以设置DDSManagerDelegate 来监听授权的情况。
授权过程中可能会有0-N次onAuthFailed的回调,直至onAuthSuccess为止。

采用API Key授权,在SDK初始化时,直接将授权类型(profile)和API Key传入SDK。

二、初始化SDK

1)使用以下方法来初始化SDK。

初始化

//设置音频策略
- (void)setAudioConfig{
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];
    [[AVAudioSession sharedInstance] setActive:YES error:nil];
}
   
//初始化DDSManager
- (void)initDDSManager{
    NSMutableDictionary *paramDic = [[NSMutableDictionary alloc] init];
    [paramDic setObject:@"xxx" forKey:K_PRODUCT_ID];
    [paramDic setObject:@"prod" forKey:K_ALIAS_KEY];
    [paramDic setObject:@"usergroup" forKey:K_USER_ID];
    [paramDic setObject:@"2f0d470ac76d319fcc4a1d777bf65e08.zip" forKey:K_DUICORE_ZIP];
    [paramDic setObject:@"product.zip" forKey:K_CUSTOM_ZIP];
  
    //授权
    [paramDic setObject:@"profile" forKey:K_AUTH_TYPE];
    [paramDic setObject:@"xxxxxxxx" forKey:K_API_KEY];//API Key
    [paramDic setObject:@"xxxxxxxx" forKey:K_PRODUCT_KEY];//Product Key(产品授权管理页面授权列表下获取)
    [paramDic setObject:@"xxxxxxxx" forKey:K_PRODUCT_SECRET];//Product Secret(产品授权管理页面授权列表下获取)

    DDSManager *manager = [DDSManager shareInstance];
    [manager startWithdelegate:self DDSConfig:paramDic];
}
   
//完成回调
-(void)onInitComplete:(BOOL)isFull {
    if(isFull){
        NSLog(@"onInitComplete DUI init");
        //使用H5
        dispatch_async(dispatch_get_main_queue(), ^{
            NSString *path = [[DDSManager shareInstance] getValidH5Path];
            url = [[NSURL alloc] initWithString:path];
            self.request = [[NSURLRequest alloc] initWithURL:url];
            self.web.delegate = self;
            self.web.allowsInlineMediaPlayback = YES;
            self.web.mediaPlaybackRequiresUserAction = NO;
            [self.web loadRequest:self.request];
        });
    }
    else{
        NSLog(@"DUI init faied");
    }
}
 
//授权回调
-(void)onAuthSuccess{
    NSLog(@"onAuthSuccess is successed");
    //开唤醒
    [[DDSManager shareInstance] enableWakeup];
} 
 
-(void)onAuthFailed:(int)what Error:(NSString*)error{
//授权失败,可以重新调用授权接口
    [[DDSManager shareInstance] startAuth];
    NSLog(@" onAuthFailed is failed");
}

在收到 onInitComplete 回调之后,就可以使用DDS来完成对应的操作。
isFull参数如果为false, 则表示不完全初始化,缺失资源包;如果为true,则表示完全初始化,所有功能就绪。
SDK完全初始化(isFull = true)表示所有的功能节点都可用。
当调用[[DDSManager shareInstance] stop] 之后,之前注册的observers会失效,再次[manager startWithdelagate:self DDSConfig:paramDic]后,您需要对之前的observers重新注册。

2)使用以下方法来释放SDK:

释放SDK

[[DDSManager shareInstance] stop];

 

更多关于SDK集成操作请前往文档iOS SDK集成