菜单

横幅广告

1. 加载并展示广告

横幅广告适用于应用界面的固定位置展示,如页面顶部或底部。

1.1 初始化Banner广告

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

// 创建Banner广告实例
SDMBannerView *bannerView = [[SDMBannerView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 250)];

// 设置广告位ID
bannerView.placementId = @"your_placement_id";

// 设置代理
bannerView.delegate = self;

// 创建广告请求参数(可选)
SDMAdRequest *adRequest = [[SDMAdRequest alloc] init];

// 加载广告
[bannerView loadWithAdRequest:adRequest];

1.2 Banner广告代理方法

实现 SDMBannerViewDelegate 协议来处理广告相关的回调:

objc 复制代码
#pragma mark - SDMBannerViewDelegate

// 广告加载成功
- (void)onAdLoaded:(SDMBannerView *)bannerView {
    NSLog(@"Banner广告加载成功");
}

// 广告加载失败
- (void)onAdLoadFail:(SDMBannerView *)bannerView error:(NSError *)error {
    NSLog(@"Banner广告加载失败: %@", error.localizedDescription);
}

// 广告展示成功
- (void)onAdShow:(SDMBannerView *)bannerView {
    NSLog(@"Banner广告展示成功");
}

// 广告被点击
- (void)onAdClick:(SDMBannerView *)bannerView extra:(nullable NSDictionary *)extra {
    NSLog(@"Banner广告被点击");
}

// 广告关闭
- (void)onAdClose:(SDMBannerView *)bannerView extra:(nullable NSDictionary *)extra {
    NSLog(@"Banner广告关闭");
}

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

1.3 显示Banner广告

Banner广告在加载成功后会自动展示,只需将Banner广告视图添加到您的视图层级中即可:

objc 复制代码
// 将Banner广告添加到视图中
[self.view addSubview:bannerView];

// 设置Banner广告的约束
[bannerView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.equalTo(self.view.mas_top).offset(100);
    make.centerX.equalTo(self.view.mas_centerX);
    make.width.equalTo(@(bannerView.frame.size.width));
    make.height.equalTo(@(bannerView.frame.size.height));
}];

1.4 检查Banner广告准备就绪状态

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

2. 释放资源

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

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