请输入
菜单

横幅广告

💡Tips

1. 加载广告

objective-c 复制代码
@interface BannerVC () <MCBannerAdViewAdDelegate, MCAdRevenueDelegate>

@property (nonatomic, strong) UIView *adView; // 广告容器视图
@property (nonatomic, strong) MCBannerAdView *bannerView; // 横幅广告视图
@property (nonatomic, assign) BOOL hasLoaded; // 广告加载状态标识

@end

@implementation BannerVC

// 横幅广告聚合单元ID,需要替换为您的实际聚合单元ID
#define BannerPlacementID @"your mediation unit id"

// 场景ID,用于区分不同的广告展示场景
#define BannerSceneID @""

// 配置横幅广告尺寸,例如:320x50
#define BannerSize CGSizeMake(320, 50)

#pragma mark - Load Ad
- (void)loadAd {
    // 如果横幅广告视图不存在,则创建新的实例
    if (!self.bannerView) {
        _bannerView = [[MCBannerAdView alloc] initWithPlacementId:BannerPlacementID adFormat:[MCAdFormat banner]];
    }
    // 设置广告代理和收益代理
    self.bannerView.delegate = self;
    self.bannerView.revenueDelegate = self;
    // 设置横幅广告尺寸
    self.bannerView.bannerSize = BannerSize;
    // 设置广告场景ID
    self.bannerView.placement = BannerSceneID;
    
    // 开始加载广告
    [self.bannerView loadAd];
}

#pragma mark - MCBannerAdViewAdDelegate
// 广告加载成功
- (void)didLoadAd:(MCAdInfo *)ad {
    self.hasLoaded = YES; 
}

// 广告加载失败
- (void)didFailToLoadAdWithError:(MCError *)error {
    self.hasLoaded = NO; 
}

// 广告展示成功
- (void)didDisplayAd:(MCAdInfo *)ad {

}

// 广告关闭
- (void)didHideAd:(MCAdInfo *)ad {
    [self removeAd];
}

// 广告点击
- (void)didClickAd:(MCAdInfo *)ad {

}

// 广告展示失败
- (void)didFailToDisplayAd:(MCAdInfo *)ad withError:(MCError *)error {

}

// 可折叠横幅广告展开时触发(如果广告网络支持)
- (void)didExpandAd:(MCAdInfo *)ad { }

// 可折叠横幅广告收起时触发(如果广告网络支持)
- (void)didCollapseAd:(MCAdInfo *)ad { }

#pragma mark - MCAdRevenueDelegate
// 收益跟踪回调
- (void)didPayRevenueForAd:(MCAdInfo *)ad {

}

2. 展示广告

objective-c 复制代码
// 判断当前是否存在可展示的广告
BOOL isready = self.hasLoaded;

if (isready && self.bannerView) {
    self.adView = [[UIView alloc]init];
    self.adView.backgroundColor =  randomColor;
    [self.adView addSubview:self.bannerView];
    
    [self.view insertSubview:self.adView belowSubview:self.footView];
   
    [self.adView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.height.equalTo(@(_adSize.height));
        make.width.equalTo(@(_adSize.width));
        make.top.equalTo(self.view).offset(100);
    }];
    
    [self.bannerView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.edges.equalTo(self.adView);
    }];
}

3. 销毁广告

objective-c 复制代码
// 移除广告BannerView
- (void)removeAd {
    if (self.adView && self.adView.superview) {
        [self.adView removeFromSuperview];
        [self.bannerView destroyAd];
        _bannerView = nil;
        self.adView = nil;
        self.hasLoaded = NO;
    }
}

4. 设置自定义参数

objective-c 复制代码
- (void)loadAd {
    MCBannerAdView *bannerView = [[MCBannerAdView alloc] initWithPlacementId:self.placementID];
    bannerView.delegate = self;
    bannerView.revenueDelegate = self;
    
    [bannerView setLoadExtraParameter:@{
        @"userData": @"test_userData"
    }];
    
    [bannerView setExtraParameter:@{
        @"test_extra_key": @"test_extra_value"
    }];
    
    [bannerView loadAd];
    self.bannerView = bannerView;
}

- (void)didLoadAd:(MCAdInfo *)ad {
    // 获取自定义参数
    NSString *originDataJsonString = ad.originData;
}  
上一个
原生广告
下一个
回调信息说明
最近修改: 2025-06-25Powered by