菜单

插屏广告

1. 加载广告

插屏广告适用于应用内自然过渡场景,如页面切换时展示。

1.1 初始化插屏广告

objc 复制代码
#import <SmartdigimktSDK/SDMInterstitialAd.h>

// 创建插屏广告实例
SDMInterstitialAd *interstitialAd = [[SDMInterstitialAd alloc] initAdWithPlacementId:@"placement_id"];

// 设置代理
interstitialAd.loadDelegate = self;
interstitialAd.showDelegate = self;

// 加载广告
[interstitialAd load];

1.2 设置可选参数

插屏广告支持以下可选参数配置:

objc 复制代码
// 设置自定义参数(用于数据统计和分析)
NSMutableDictionary *adSourceExtra = [@{} mutableCopy];
[adSourceExtra setValue:@"value1" forKey:@"key1"];
[adSourceExtra setValue:@"value2" forKey:@"key2"];
interstitialAd.adSourceExtra = adSourceExtra;

1.3 插屏广告加载代理方法

objc 复制代码
#pragma mark - SDMPublicLoadingDelegate

// 广告加载成功
- (void)onAdLoaded:(SDMBaseAd *)item {
    NSLog(@"插屏广告加载成功");
}

// 广告加载失败
- (void)onAdLoadFail:(SDMBaseAd *)item error:(NSError *)error {
    NSLog(@"插屏广告加载失败: %@", error.localizedDescription);
}

1.4 插屏广告展示代理方法

objc 复制代码
#pragma mark - SDMPubInterstitialDelegate

// 广告展示
- (void)onAdShow:(SDMInterstitialAd *)item {
    NSLog(@"插屏广告展示");
}

// 广告点击
- (void)onAdClick:(SDMInterstitialAd *)item extra:(nullable NSDictionary *)extra {
    NSLog(@"插屏广告点击");
}

// 广告关闭
- (void)onAdClose:(SDMInterstitialAd *)item extra:(nullable NSDictionary *)extra {
    NSLog(@"插屏广告关闭");
}

// 广告展示失败
- (void)onAdShowFail:(SDMInterstitialAd *)item error:(NSError *)error {
    NSLog(@"插屏广告展示失败: %@", error.localizedDescription);
}

// 视频开始播放
- (void)onAdVideoStart:(SDMInterstitialAd *)item {
    NSLog(@"插屏广告视频开始播放");
}

// 视频播放结束
- (void)onAdVideoEnd:(SDMInterstitialAd *)item {
    NSLog(@"插屏广告视频播放结束");
}

// 是否以Deeplink形式跳转
- (void)onDeeplinkCallback:(SDMInterstitialAd *)item result:(BOOL)success {
    NSLog(@"插屏广告Deeplink跳转: %@", success ? @"成功" : @"失败");
}

2. 展示广告

2.1 检查插屏广告准备就绪状态

objc 复制代码
// 检查插屏广告是否准备就绪
if ([interstitialAd isReady]) {
    NSLog(@"插屏广告已准备就绪");
} else {
    NSLog(@"插屏广告未准备就绪");
}

2.2 展示插屏广告

objc 复制代码
// 检查广告是否准备就绪
if ([interstitialAd isReady]) {
    // 展示广告
    [interstitialAd showAd];
} else {
    NSLog(@"插屏广告未准备就绪");
}

3. 释放资源

在不再需要广告实例时,及时释放资源避免内存泄漏。

objc 复制代码
// 销毁插屏广告
[interstitialAd destroy];
最近修改: 2025-10-11Powered by