菜单

开发者自行统计广告事件指南

本指南介绍了开发者自行统计广告链路中常见事件节点的方法,涵盖了用于广告错误排查、应用调用SDK接口行为等场景。

1.广告加载

时机:ATAdManager单例对象的loadADWithPlacementID方法调用后,代码示例如下

objc 复制代码
[[ATAdManager sharedManager] loadADWithPlacementID:SplashPlacementID
                                                 extra:loadConfigDict
                                              delegate:self
                                         containerView:[self footLogoView]];
    
//在这里统计广告加载,需要根据广告位ID区分
常见用途 说明
计数 统计发起加载次数,注意由于SDK不支持同一个广告位多次发起加载,SDK自身统计会过滤某些非法加载请求数,因此该指标通常用于应用侧统计load次数

2.广告加载结果

2.1 广告位与广告源

一次广告加载包含的失败信息分为两个维度,一是广告源维度,二是广告位维度。如下:

objc 复制代码
@protocol ATAdLoadingDelegate<NSObject>

/// 广告位维度,加载成功
- (void)didFinishLoadingADWithPlacementID:(NSString *)placementID;



/// 广告位维度,加载失败,不包含具体每一层级广告源失败信息
- (void)didFailToLoadADWithPlacementID:(NSString*)placementID
                                 error:(NSError*)error;

@optional
/// 广告位维度,获得展示收益
- (void)didRevenueForPlacementID:(NSString *)placementID
                              extra:(NSDictionary *)extra;


/// 广告源维度,某一个非竞价广告源开始加载
- (void)didStartLoadingADSourceWithPlacementID:(NSString *)placementID
                                         extra:(NSDictionary*)extra;
/// 广告源维度,某一个非竞价广告源加载成功
- (void)didFinishLoadingADSourceWithPlacementID:(NSString *)placementID
                                          extra:(NSDictionary*)extra;
/// 广告源维度,某一个非竞价广告源加载失败
- (void)didFailToLoadADSourceWithPlacementID:(NSString*)placementID
                                       extra:(NSDictionary*)extra
                                       error:(NSError*)error;

/// 广告源维度,某一个竞价广告源开始加载
- (void)didStartBiddingADSourceWithPlacementID:(NSString *)placementID
                                         extra:(NSDictionary*)extra;

/// 广告源维度,某一个竞价广告源加载成功
- (void)didFinishBiddingADSourceWithPlacementID:(NSString *)placementID
                                          extra:(NSDictionary*)extra;

/// 广告源维度,某一个竞价广告源加载失败
- (void)didFailBiddingADSourceWithPlacementID:(NSString*)placementID
                                        extra:(NSDictionary*)extra
                                        error:(NSError*)error;

@end

2.2 竞价与非竞价

一次load操作通常会请求多个广告源,例如如下广告位配置,包含了红框中的竞价广告源与其余非竞价广告源,如下图所示:

2.3 常用统计事件

2.3.1 广告位加载失败(所有广告类型)

objc 复制代码
//该协议属于ATAdLoadingDelegate
- (void)didFailToLoadADWithPlacementID:(NSString*)placementID
                                 error:(NSError*)error {
    //在这里收集信息统计
}
常见用途 说明
计数 统计加载失败次数
失败上报 广告位整体失败原因,可参考错误码说明
常用字段 类型 说明
error.domain NSErrorDomain 错误归属
error.userInfo NSDictionary<NSErrorUserInfoKey, id> * 额外信息,使用时请自行转换类型
error.localizedDescription NSString * 错误本地化描述
error.description NSString * 错误描述

注意事项:这个回调看不到每一层广告源具体的失败原因,包括第三方SDK给的失败原因,如果想要收集第三方SDK的失败原因,请继续看下面的文档。

2.3.2 广告源加载失败(所有广告类型)

objc 复制代码
//以下协议属于ATAdLoadingDelegate

/// 广告源维度,某一个竞价广告源加载失败
- (void)didFailBiddingADSourceWithPlacementID:(NSString*)placementID
                                        extra:(NSDictionary*)extra
                                        error:(NSError*)error {
    //在这里收集信息统计
}

/// 广告源维度,某一个非竞价广告源加载失败
- (void)didFailToLoadADSourceWithPlacementID:(NSString*)placementID
                                       extra:(NSDictionary*)extra
                                       error:(NSError*)error {
    //在这里收集信息统计
}
常用字段 类型 说明
error.domain NSErrorDomain 错误归属
error.userInfo NSDictionary<NSErrorUserInfoKey, id> * 额外信息,使用时请自行转换类型
error.localizedDescription NSString * 错误本地化描述
error.description NSString * 错误描述
extra[@"req_id"] NSString * 聚合SDK请求ID
extra[@"adsource_id"] NSString * 聚合SDK广告源ID
extra[@"network_firm_id"] NSString * 聚合SDK广告平台ID
常见用途 说明
计数 统计各广告源失败次数
失败上报 广告位整体失败原因,可参考错误码说明 ,以及对应第三方广告平台错误码文档中的说明

2.3.3 广告位加载成功(所有广告类型都支持,但不含开屏广告的超时信息,如果需要开屏广告的超时信息,请看下面章节单独有介绍)

objc 复制代码
//以下协议属于ATAdLoadingDelegate
- (void)didFinishLoadingADWithPlacementID:(NSString *)placementID {
    //在这里收集信息统计
    
}
常见用途 说明
计数 统计加载成功次数

2.3.4 广告源加载成功(所有广告类型)

objc 复制代码
//以下协议属于ATAdLoadingDelegate

/// 广告源维度,某一个竞价广告源加载成功
- (void)didFinishBiddingADSourceWithPlacementID:(NSString *)placementID
                                          extra:(NSDictionary*)extra {
    //在这里收集信息统计
}

/// 广告源维度,某一个非竞价广告源加载成功
- (void)didFinishLoadingADSourceWithPlacementID:(NSString *)placementID
                                          extra:(NSDictionary*)extra {
    //在这里收集信息统计
}
常用字段 类型 说明
extra[@"req_id"] NSString * 聚合SDK请求ID
extra[@"adsource_id"] NSString * 聚合SDK广告源ID
extra[@"network_firm_id"] NSString * 聚合SDK广告平台ID
常见用途 说明
计数 统计各广告源成功次数

2.3.5 开屏广告,广告位维度加载成功,且含有超时信息(超时指的是通过kATSplashExtraTolerateTimeoutKey,给我们聚合SDK在加载时设置的超时值)

objc 复制代码
//以下协议属于ATSplashDelegate

- (void)didFinishLoadingSplashADWithPlacementID:(NSString *)placementID isTimeout:(BOOL)isTimeout {
    if (!isTimeout) {
        //加载成功,没有超时,在此记录 
    }else {
        //加载成功,但超时了 ,在此记录 
    }
}
常见用途 说明
计数 统计加载成功且含有超时信息的次数

2.3.6 开屏广告,广告位维度加载超时(超时指的是通过kATSplashExtraTolerateTimeoutKey,给我们聚合SDK在加载时设置的超时值)

objc 复制代码
//以下协议属于ATSplashDelegate
- (void)didTimeoutLoadingSplashADWithPlacementID:(NSString *)placementID {
    //加载超时了,加载结果此处还不知道,后续是成功还是失败,需要关注其他事件。例如,加载失败仍然可以通过2.3.1小节的方法进行上报
}
常见用途 说明
计数 统计加载超时次数,超时指的是通过聚合API设置的kATSplashExtraTolerateTimeoutKey

注意事项:开屏广告相关流程前往这里了解详细信息。

3. 广告展示结果

3.1 广告展示成功,获得展示收益

请参考:https://help.takuad.com/docs/rgJOQXRU

3.2 广告展示失败

3.2.1 开屏广告

objc 复制代码
/// 该协议属于ATSplashDelegate
- (void)splashDidShowFailedForPlacementID:(NSString*)placementID error:(NSError *)error extra:(NSDictionary *)extra {
    //在这里收集信息并上报
}

3.2.2 插屏广告

objc 复制代码
/// 该协议属于ATInterstitialDelegate
- (void)interstitialFailedToShowForPlacementID:(NSString *)placementID error:(NSError *)error extra:(NSDictionary *)extra {
    //在这里收集信息并上报
}

3.3.3 激励视频

objc 复制代码
/// 该协议属于ATRewardedVideoDelegate
- (void)rewardedVideoDidFailToPlayForPlacementID:(NSString*)placementID error:(NSError *)error extra:(NSDictionary *)extra {
    //在这里收集信息并上报
}

3.2.4 广告展示失败相关说明 (横幅广告、原生广告不支持获取原因)

常用字段 类型 说明
error.domain NSErrorDomain 错误归属
error.userInfo NSDictionary<NSErrorUserInfoKey, id> * 额外信息,使用时请自行转换类型
error.localizedDescription NSString * 错误本地化描述
error.description NSString * 错误描述
extra[@"request_id"] NSString * 聚合SDK请求ID
extra[@"id"] NSString * 聚合SDK唯一展示ID
extra[@"adsource_id"] NSString * 聚合SDK广告源ID
extra[@"network_firm_id"] NSString * 聚合SDK广告平台ID
常见用途 说明
计数 统计展示失败次数
失败上报 展示失败原因,可参考错误码说明 ,以及对应第三方广告平台错误码文档中的说明
最近修改: 2025-12-23Powered by