# SDK初始化

在XCode工程的AppDelegate.m文件中调用SDK的初始化相关配置方法

TIP

如果是Unity工程,则在UnityAppController.m文件中

# 1、导入头文件

#import "DHUnionSDK.h"
#import "DHUnionDelegate.h"
#import "DHUnonConfig.h"

# 2、在以下AppDelegate回调中进行配置

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    //初始化SDK,必须
    [DHUnionSDK initUnionSDK:^(int type, BOOL result) {
        if(result){
            //init success
            NSLog(@"DHUnionSDk init success");
            //设置SDK区域 0:海外  1:国内
            [DHUnionSDK configureSDKArea:1];
            //设置SDK语言
            [DHUnionSDK configureSDKLanguage:DHUnionLanguageTypeZH_CN];
            //配置SDK
            DHUnionConfig *config = [[DHUnionConfig alloc] init];
            //请在正式打包上线时设为NO,否则会调用测试的登录地址
            config.isDebug = NO;
            [DHUnionSDK configureUnionSDK:config];
            //部分其它SDK初始化
           [DHUnionSDK application:application didFinishLaunchingWithOptions:launchOptions];
            
        }
        else{
            //init failed
            NSLog(@"DHUnionSDk init failed");
        }
    }];  
    
    return YES;
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
    [DHUnionSDK didEnterBackground:application];
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
    [DHUnionSDK willEnterForeground:application];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    //必须添加
    [DHUnionSDK applicationDidBecomeActive:application];
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1*NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        if ([[UIDevice currentDevice].systemVersion floatValue]>=14.0) {
            //iOS 14
            [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
                if(status == ATTrackingManagerAuthorizationStatusAuthorized){
                    
                }
                
            }];
        } else {
            
        }
    });

}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options
{
    [DHUnionSDK handleApplication:application openURL:url options:options];
    return YES;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    [DHUnionSDK HandleOpenUrl:url application:application sourceApplication:sourceApplication annotation:annotation];
    return YES;
}
- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * _Nullable))restorationHandler {
    [DHUnionSDK dhApplication:application continueUseactivity:userActivity options:@{}];
    
    return YES;
}

Last Updated: 2024/8/30 17:47:25