插屏广告
简介
插屏广告一般在应用流程中弹出,当应用展示插页式广告时,用户可以选择点击或关闭。【渲染方式:模板渲染】
主要API
使用说明:创建UMUnionIntersititialAd对象来加载广告,通过设置UMUnionInterstitialAdDelegate代理,获取广告相关回调。
代理回调方法说明
@protocol UMUnionInterstitialAdDelegate <NSObject>
@optional
/// 请求广告数据成功回调
- (void)uadInterstitialDidLoad:(UMUnionIntersititialAd *)intersititialAd;
/// 请求广告数据失败回调
/// @param error 失败信息
- (void)uadInterstitialDidLoad:(UMUnionIntersititialAd *)intersititialAd failWithError:(NSError *_Nullable)error;
/// 广告渲染成功回调
/// 回调说明:媒体收到此回调后调用show接口
- (void)uadInterstitialRenderSuccess:(UMUnionIntersititialAd *)intersititialAd;
/// 广告渲染失败回调
/// 可能情况:渲染失败、展示时产生的异常
/// @param error 失败信息
- (void)uadInterstitialRenderFail:(UMUnionIntersititialAd *)intersititialAd error:(NSError *_Nullable)error;
/// 广告显示回调
- (void)uadInterstitialExposeSuccess:(UMUnionIntersititialAd *)intersititialAd;
/// 广告点击回调
- (void)uadInterstitialClicked:(UMUnionIntersititialAd *)intersititialAd;
/// 广告关闭回调
- (void)uadInterstitialClose:(UMUnionIntersititialAd *)intersititialAd;
/// 视频广告播放状态回调
- (void)uadInterstitial:(UMUnionIntersititialAd *)intersititialAd mediaPlayerStatus:(UMUnionMediaPlayerStatus)status;
/// 广告详情页即将打开
- (void)uadInterstitialDetailViewWillPresent:(UMUnionIntersititialAd *)intersititialAd;
/// 广告详情页关闭
- (void)uadInterstitialDetailViewClosed:(UMUnionIntersititialAd *)intersititialAd;
@end在实现上述事件回调之前,请务必先设置delegate:
intersititialAd.delegate = self;调用接口说明
方法 | 说明 |
- (instancetype)initWithSlotId:(NSString *)slotId; | UMUnionIntersititialAd实例构造方法,slotId为对应广告位id |
- (void)loadAdAndShow:(UIViewController *)rootViewController; | 广告请求并显示,rootViewController:显示插播广告的UIViewController【必选】 |
- (void)loadAd; | 广告请求,用于Load、Show分离场景 |
- (void)presentAdWithRootViewController:(UIViewController *)rootViewController; | 广告展示,用于Load、Show分离场景 |
- (NSNumber *)eCPM; | 出价策略有两种:1、PD约定价格,此时该字段返回固定值 -1 ,结算以合同约定的价格为准(可能是CPM固定价,可能是CPM阶梯价,也可能是CPC/CPS等);2、RTB价格,此时该字段返回实时出价,结算以此价格为依据。 |
- (void)muteEnable:(BOOL)flag; | 视频类广告播放静音开关 YES:静音 |
接入代码示例
方式一:
- (IBAction)onLoadAndShow:(id)sender {
self.intersititialAd = [[UMUnionIntersititialAd alloc] initWithSlotId:YOUR_SLOT_ID];
self.intersititialAd.delegate = self;
[self.intersititialAd loadAdAndShow:self];
}方式二:
- (IBAction)onLoad:(id)sender {
self.intersititialAd = [[UMUnionIntersititialAd alloc] initWithSlotId:YOUR_SLOT_ID];
self.intersititialAd.delegate = self;
[self.intersititialAd loadAd];
}
- (IBAction)onShow:(id)sender {
if (self.intersititialAd) {
[self.intersititialAd presentAdWithRootViewController:self];
}
}