菜单

插屏广告

💡Tips

  • 🚀 采用预加载机制提升用户体验
  • ⚠️ 注意处理生命周期防止内存泄漏
  • 🔧 推荐使用标准化回调处理流程

1. 集成建议

1.1 展示插屏广告

  • 展示前建议判断是否准备好,准备好后再进行展示操作
  • 如果需要在广告位加载成功的回调(didFinishLoadingADXItem:)中展示广告,必须先判断(UIApplicationState==UIApplicationStateActive)才能执行展示方法,否则可能会导致无法正常展示广告而影响收益
  • 请尽量避免Present出其他控制器,以免第三方广告平台SDK发起Present时失败,导致广告展示失败从而影响广告收益

1.2 广告预加载

  • 您可以提前于展示场景,来调用加载方法请求广告(比如在应用启动后UIApplicationState==UIApplicationStateActive时就开始加载广告),以便到达需要展示广告的场景时,可以快速展示

2. 加载广告

objective-c 复制代码
//导入头文件
#import <AnyThinkInterstitial/AnyThinkInterstitial.h>
@interface InterstitialVC () <ATADXPublicLoadingDelegate, ATADXPubInterstitialDelegate>
@property (nonatomic, strong) ATADXInterstitialAd *interstitialAd;
@end

@implementation InterstitialVC
 
//广告位ID
#define InterstitialPlacementID @"广告位id"

//场景ID,可选,可在后台生成。没有可传入空字符串
#define InterstitialSceneID @""

#pragma mark - Load Ad 加载广告
/// 加载广告
- (void)loadAd { 
    NSMutableDictionary * loadConfigDict = [NSMutableDictionary dictionary];
    //可选接入,设置加载透传参数
    [loadConfigDict setValue:@"media_val_InterstitialVC" forKey:kATAdLoadingExtraMediaExtraKey];
    ATADXInterstitialAd *interstitialAd = [[ATADXInterstitialAd alloc] initAdWithPlacementId:InterstitialPlacementID];
    adInfo.extra = loadConfigDict;
    adInfo.loadDelegate = self;
    adInfo.showDelegate = self;
    self.interstitialAd = adInfo;
    [adInfo loadAd];
}

#pragma mark - ATADXPublicLoadingDelegate
/// 广告加载完成
- (void)didFinishLoadingADXItem:(ATADXBaseAd *)item {
}

/// 广告加载失败
- (void)didFailToLoadADXItem:(ATADXBaseAd *)item
                       error:(NSError*)error {
}

3. 展示广告

objective-c 复制代码
#pragma mark - Show Ad 展示广告
/// 展示广告
- (void)showAd {
    // 场景统计功能,呈现在后台的 数据报表 -> 漏斗分析报表 -> 到达广告场景 ,在展示广告前调用。可选接入
    // [[ATAdManager sharedManager] entryInterstitialScenarioWithPlacementID:InterstitialPlacementID scene:InterstitialSceneID];

    // 检查是否有就绪
    BOOL isReady = [self.interstitialAd isReady];
    if (!isReady) {
        return;
    }
    
    //展示配置,Scene传入后台的场景ID,没有可传入空字符串,showCustomExt参数可传入自定义参数字符串
    ATShowConfig *config = [[ATShowConfig alloc] initWithScene:InterstitialSceneID showCustomExt:@"testShowCustomExt"];
 
    //展示广告
    //若是全屏插屏,inViewController可传入根控制器,如tabbarController或navigationController,让广告遮挡住tabbar或navigationBar
    [self.interstitialAd showAdWithConfig:config inViewController:self];
}


#pragma mark - ATADXPubInterstitialDelegate
/// 广告已经展示
- (void)adxInterstitialDidShow:(ATADXBaseAd *)item {
}

/// 广告已被点击
- (void)adxInterstitialDidClick:(ATADXBaseAd *)item {
}

/// 广告已经关闭
- (void)adxInterstitialDidClose:(ATADXBaseAd *)item {
}

/// 广告展示失败
- (void)adxInterstitialFailedToShow:(ATADXBaseAd *)item
                              error:(NSError *)error {
}

/// 视频开始播放
- (void)adxInterstitialDidStartPlayingVideo:(ATADXBaseAd *)item {
}


/// 视频结束播放
- (void)adxInterstitialDidEndPlayingVideo:(ATADXBaseAd *)item {
}

/// 视频播放失败
- (void)adxInterstitialDidFailToPlayVideo:(ATADXBaseAd *)item
                                    error:(NSError *)error {
}

3. 客户端竞价

可参考此文档:客户端竞价

最近修改: 2025-12-03Powered by