菜单

开屏广告

1. 加载广告

开屏广告适用于应用启动时展示,为用户提供品牌曝光和内容预览。

1.1 初始化开屏广告

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

// 创建开屏广告实例
SDMSplashAd *splashAd = [[SDMSplashAd alloc] initAdWithPlacementId:@"placement_id"];

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

// 加载广告
[splashAd load];

1.2 开屏广告加载代理方法

objc 复制代码
#pragma mark - SDMPublicLoadingDelegate

// 广告加载成功(带超时信息)
- (void)onAdLoaded:(SDMSplashAd *)item isTimeout:(BOOL)isTimeout {
    NSLog(@"开屏广告加载成功,是否超时: %@", isTimeout ? @"是" : @"否");
}

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

// 开屏广告加载超时
- (void)onAdLoadTimeout:(SDMSplashAd *)item {
    NSLog(@"开屏广告加载超时");
}

1.3 开屏广告展示代理方法

objc 复制代码
#pragma mark - SDMPubSplashDelegate

// 广告展示成功
- (void)onAdShow:(SDMSplashAd *)item {
    NSLog(@"开屏广告展示成功");
}

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

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

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

// 广告Deeplink跳转回调
- (void)onDeeplinkCallback:(SDMSplashAd *)item result:(BOOL)success {
    NSLog(@"开屏广告Deeplink跳转结果: %@", success ? @"成功" : @"失败");
}

2. 展示广告

2.1 检查广告状态

在展示广告前,应先检查广告是否已准备就绪。

objc 复制代码
// 检查广告是否准备就绪
if ([splashAd isReady]) {
    NSLog(@"开屏广告已准备就绪,可以展示");
} else {
    NSLog(@"开屏广告未准备就绪");
}

2.2 可选参数配置

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

objc 复制代码
// 设置开屏广告容器视图
splashAd.containerView = containerView;  // 展示开屏广告的底部logo容器视图

// 设置开屏广告窗口
splashAd.window = window;  // 展示开屏广告的窗口

// 设置广告加载超时时间(单位:秒)
splashAd.fetchAdTimeout = 5.0;  // 加载超时时间设置,单位秒

2.3 展示开屏广告

objc 复制代码
// 检查广告是否准备就绪
if ([splashAd isReady]) {
    // 方法1:使用showAd方法展示广告
    [splashAd showAd];
    
    // 方法2:设置展示参数后展示
    // 设置展示的窗口
    splashAd.window = showWindow;
    // 设置展示的视图控制器
    splashAd.showViewController = inViewController;
    // 调用展示方法
    [splashAd showAd];
} else {
    NSLog(@"开屏广告未准备就绪");
}

2.4 展示开屏广告(带自定义视图)

objc 复制代码
// 检查广告是否准备就绪
if ([splashAd isReady]) {
    // 创建自定义底部视图
    UIView *customBottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];
    customBottomView.backgroundColor = [UIColor whiteColor];
    
    // 设置展示参数
    splashAd.window = showWindow;
    splashAd.showViewController = inViewController;
    
    // 设置底部视图
    adInfo.bottomView = customBottomView;
    
    // 展示广告
    [splashAd showAd];
} else {
    NSLog(@"开屏广告未准备就绪");
}

3. 释放资源

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

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