菜单

设置 ATT 授权等待

如果App有归因需求则设置ATT授权等待,在等待时间内SDK会等用户授权ATT后能获取到IDFA才上报Install事件,从而增加归因精准率。如果超过了ATT授权等待时间用户还未授权则SDK也将上报事件,事件中不包含IDFA有效字段

示例代码

#import <SolarEngineSDK/SolarEngineSDK.h> 
SEConfig *config = [[SEConfig alloc] init];
config.attAuthorizationWaitingInterval = 120; // SDK最多等待用户ATT授权,最多等待120秒
[[SolarEngineSDK sharedInstance] startWithAppKey:appkey config:config];

 

注:设置了ATT授权等待,请求ATT授权也需要使用SDK 封装的ATT授权接口。

警告:如果设置了ATT授权等待,没有调用SDK的ATT授权接口,那么安装事件最多会延迟120s才上报。

如果没法调用SDK的ATT授权接口

  • 可以您调用系统ATT授权接口后再调用一次SDK的ATT授权接口
  • 也可以您调用系统ATT授权接口后再初始化SDK,这样则不用设置ATT授权等待

 

SolarEngine SDK封装了系统的requestTrackingAuthorizationWithCompletionHandler,completion回调值 status对应系统的ATTrackingManagerAuthorizationStatus

0: Not Determined;1: Restricted;2: Denied;3: Authorized ;999: system error

- (void)requestTrackingAuthorizationWithCompletionHandler:(void (^)(NSUInteger status))completion;

 

示例代码

    [[SolarEngineSDK sharedInstance] requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) {        
        switch (status) {
                case 0:
                    NSLog(@"NotDetermined");
                    // ATTrackingManagerAuthorizationStatusNotDetermined case
                    break;
                case 1:
                NSLog(@"Restricted");
                    // ATTrackingManagerAuthorizationStatusRestricted case
                    break;
                case 2:
                NSLog(@"Denied");
                    // ATTrackingManagerAuthorizationStatusDenied case
                    break;
                case 3:
                NSLog(@"Authorized");
                    // ATTrackingManagerAuthorizationStatusAuthorized case
                    break;
                case 999:
                    NSLog(@"systom error");
                    break;
            }
    }];

最近修改: 2026-01-21Powered by