logo

帮助中心/文档详情/

iOS全屏视频广告

简介

全屏视频是一种全屏播放的视频广告,用户可以进行5s跳过操作,且会显示结束endCard页面,视频播放完展示互动页面。全屏视频广告的展示场景为应用功能自然体验中断时,如游戏关卡之间。全屏视频广告不应突然出现,不应干扰用户使用应用的正常流程,例如应用加载,退出应用或者游戏过程中。

支持的广告尺寸: 全屏横屏(宽高比16:9)、全屏竖屏(宽高比9:16)

权限

模板渲染全屏视频: 默认开放
SDK渲染全屏视频: 已回收,不再提供创建

代码位ID创建参数说明:

开发者根据展示场景勾选视频播放方向:横版or竖版

模版渲染全屏视频广告

使用说明

模版全屏视频使用BUNativeExpressFullscreenVideoAd对象调用loadAdData请求广告,使用BUNativeExpressFullscreenVideoAd对象调用showAdFromRootViewController:展示广告,通过设置BUNativeExpressFullscreenVideoAdDelegate代理,获取广告、展示、点击、关闭等回调。

创建广告位对象、请求广告

BUNativeExpressFullscreenVideoAd

请求广告时需要传入广告位对象,广告位对象创建时必须传入广告位id

必传参数:

字段定义 字段名称 字段类型 备注
SlotID 广告位 NSString 代码位ID

使用BUNativeExpressFullscreenVideoAd创建对象,使用BUNativeExpressFullscreenVideoAd调用loadAdData请求广告

self.fullscreenAd = [[BUNativeExpressFullscreenVideoAd alloc] initWithSlotID:slotID];
self.fullscreenAd.delegate = self;
[self.fullscreenAd loadAdData];

接收广告加载结果

BUNativeExpressFullscreenVideoAdDelegate

回调方法 注释
nativeExpressFullscreenVideoAd:didFailWithError 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link
nativeExpressFullscreenVideoAdViewRenderFail:error 渲染失败,网络原因或者硬件原因导致渲染失败,可以更换手机或者网络环境测试。建议升级到穿山甲最新版本SDK
nativeExpressFullscreenVideoAdDidLoad 广告素材物料加载成功
nativeExpressFullscreenVideoAdDidDownLoadVideo 视频下载完成

BUNativeExpressFullscreenVideoAdDelegate回调说明

回调方法 注释
nativeExpressFullscreenVideoAdDidLoad: 此回调进入证明广告物料已成功加载
nativeExpressFullscreenVideoAd: didFailWithError: 此回调方法中可定位具体的失败原因对应的错误码,打印error即可。所有错误码详情请见链接。Link
nativeExpressFullscreenVideoAdViewRenderSuccess: 渲染成功回调方法
nativeExpressFullscreenVideoAdViewRenderFail:error: 进入了此回调证明触发了渲染失败条件,可更换手机或者网络环境测试。建议直接升级到穿山甲平台最新版本
nativeExpressFullscreenVideoAdDidDownLoadVideo: 在此回调方法中进行广告的展示,可保证播放流畅和展示流畅,用户体验更好。
nativeExpressFullscreenVideoAdWillVisible: 模版全屏广告即将展示回调
nativeExpressFullscreenVideoAdDidVisible: 模版全屏广告已经展示回调
nativeExpressFullscreenVideoAdDidClick: 点击回调
nativeExpressFullscreenVideoAdDidClickSkip: 点击5s跳过会触发此回调,如果需要在用户点击跳过时做相关的逻辑处理,可在此回调中进行相关逻辑处理
nativeExpressFullscreenVideoAdWillClose: 此回调方法可知用户进行了广告关闭操作,可在此回调方法中进行用户关闭广告时的相应的逻辑处理
nativeExpressFullscreenVideoAdDidClose: 点击关闭按钮会触发此回调
nativeExpressFullscreenVideoAdDidPlayFinish: 广告播放完成会触发此回调
nativeExpressFullscreenVideoAdCallback:withType: 此回调可知模版全屏视频的广告类型
nativeExpressFullscreenVideoAdDidCloseOtherController: interactionType: 此回调在广告跳转到其他控制器时,该控制器被关闭时调用interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面

通过设置BUNativeExpressFullscreenVideoAdDelegate代理,获取广告、展示、点击、关闭等回调。其他代理方法可参见demoBUDExpressFullScreenVideoViewController类#pragma mark - BUFullscreenVideoAdDelegate部分

展示广告

全屏视频广告不应有诸如看视频给金币或奖励之类的激励展示规则,并允许用户在5秒后跳过该广告。开发者不应对用户何时可以跳过广告的设置进行更改,或添加任何其他跳过功能。

调用showAdFromRootViewController:方法展示激励视频广告,此处需要传入当前展示的页面。一定要设置rootViewController,即展示广告和跳转落地页需要的viewController,此处建议开发者在收到nativeExpressFullscreenVideoAdDidDownLoadVideo回调后再允许用户观看广告,可保证播放流畅和展示流畅,用户体验更好。

展示全屏视频广告

//show的时候会进行WKWebview的渲染,建议一次最多展示三个广告,如果超过3个会很大概率导致WKWebview渲染失败。当然一般情况下全屏视频一次只会show一个
if (self.fullscreenAd) {
   [self.fullscreenAd showAdFromRootViewController:self];
}

展示时机

在收到nativeExpressFullscreenVideoAdDidDownLoadVideo回调后再允许用户观看广告,可保证播放流畅和展示流畅,用户体验更好。

- (void)nativeExpressFullscreenVideoAdDidDownLoadVideo:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
//此回调方法后进行广告的展示,可保证播放流畅和展示流畅,用户体验更好。
}

广告展示后重新加载广告

同一次请求的广告最多只能计一次展示,重复的展示会被系统过滤。 因此建议开发者在用户观看完广告后在nativeExpressFullscreenVideoAdDidClose回调里将原来的广告对象置为nil 保证广告对象为新的请求对象

- (void)nativeExpressFullscreenVideoAdDidClose:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
//在此回调方法中可进行广告的置空操作
}

注意事项

  1. 必须要设置rootViewController,用来处理广告跳转。SDK里所有的跳转均采用present的方式,请确保传入的rootViewController不能为空且没有present其他的控制器,否则会出现presentedViewController已经存在而导致present失败。
  2. nativeExpressFullscreenVideoAdViewRenderSuccess渲染成功回调在广告展示后返回
  3. 为保证播放流畅和展示流畅,用户体验更好,在收到nativeExpressFullscreenVideoAdDidDownLoadVideo回调后进行广告的展示
  4. 判断广告是否有效直接使用self.fullscreenAd判断即可
  5. 个性化模板广告为了优化展示速度,会使用本地模板,请求时会拦截相关数据.如果接入方正在使用H5的页面发送请求,会造成请求body清空,其他逻辑不变.如果使用body传参请更换其他方式.例如:jsBridge方式。
  6. 每次请求数据时,都需要重新初始化一个新的BUNativeExpressFullscreenVideoAd对象。请勿重复使用本地缓存的全屏视频对象多次展示.

资源

详细接入可参照Demo中的BUDExpressFullScreenVideoViewController类,广告加载请求部分可参照loadFullscreenVideoAdWithSlotID方法,广告展示部分可参照showFullscreenVideoAd方法

SDK渲染全屏视频广告

使用说明

SDK渲染全屏视频使用BUFullscreenVideoAd对象调用loadAdData请求广告,使用BUFullscreenVideoAd对象调用showAdFromRootViewController:展示广告,通过设置BUFullscreenVideoAdDelegate代理,获取广告、展示、点击、关闭等回调。

创建广告位对象、请求广告

每次需要生成新的BUFullscreenVideoAd对象调用loadAdData方法请求最新全屏视频,请勿重复使用本地缓存全屏视频多次展示.

BUFullscreenVideoAd

请求广告时需要传入广告位对象,广告位对象创建时必须传入广告位id
必传参数:

字段定义 字段名称 字段类型 备注
SlotID 广告位 NSString 代码位ID

使用BUFullscreenVideoAd创建对象,使用BUFullscreenVideoAd调用loadAdData请求广告

//保证每次请求的广告对象为新的广告对象,避免重复使用广告同一个对象进行广告请求
self.fullscreenVideoAd = [[BUFullscreenVideoAd alloc] initWithSlotID:slotID];
self.fullscreenVideoAd.delegate = self;
[self.fullscreenVideoAd loadAdData];

接收广告加载结果

BUFullscreenVideoAdDelegate

回调方法 注释
fullscreenVideoAd: didFailWithError: 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link
fullscreenVideoMaterialMetaAdDidLoad: 广告素材物料加载成功
fullscreenVideoAdVideoDataDidLoad: 视频缓存成功

BUFullscreenVideoAdDelegate回调说明

回调方法 注释
fullscreenVideoMaterialMetaAdDidLoad: 广告素材物料加载成功
fullscreenVideoAd: didFailWithError: 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link
fullscreenVideoAdVideoDataDidLoad: 视频缓存成功
fullscreenVideoAdWillVisible: 广告即将显示回调
fullscreenVideoAdDidVisible: 广告已经显示回调
fullscreenVideoAdDidClick: 点击回调
fullscreenVideoAdWillClose: 广告即将被关闭回调
fullscreenVideoAdDidClose: 广告被关闭回调
fullscreenVideoAdDidPlayFinish: didFailWithError: 当广告播放完成或者发生错误时会进入此回调,打印error即可。所有错误码详情请见链接。Link
fullscreenVideoAdDidClickSkip: 跳过按钮被点击时会触发此回调方法
fullscreenVideoAdCallback: withType: 此回调可知全屏视频的广告类型

通过设置BUFullscreenVideoAdDelegate代理,获取广告、展示、点击、关闭等回调。其他代理方法可参见DemoBUDFullscreenViewController类#pragma mark - BUFullscreenVideoAdDelegate部分

展示广告

全屏视频广告不应有诸如“看视频给金币或奖励”之类的激励展示规则,并允许用户在5秒后跳过该广告。开发者不应对用户何时可以跳过广告的设置进行更改,或添加任何其他跳过功能。

调用showAdFromRootViewController:方法展示全屏视频广告,此处需要传入当前展示的页面。一定要设置rootViewController,即展示广告和跳转落地页需要的viewController,此处建议开发者在收到fullscreenVideoAdVideoDataDidLoad回调后再允许用户观看广告,可保证播放流畅和展示流畅,用户体验更好。

展示全屏视频广告

if (self.fullscreenAd) {
   [self.fullscreenAd showAdFromRootViewController:self];
}

展示时机:

在收到fullscreenVideoAdVideoDataDidLoad回调后再允许用户观看广告,可保证播放流畅和展示流畅,用户体验更好。

- (void)fullscreenVideoAdVideoDataDidLoad:(BUFullscreenVideoAd *)fullscreenVideoAd {
 //此回调方法后进行广告的展示,可保证播放流畅和展示流畅,用户体验更好。
}

广告展示后重新加载广告

同一次请求的广告最多只能计一次展示,重复的展示会被系统过滤。因此建议开发者在用户观看完广告后在fullscreenVideoAdDidClose回调里将原来的广告对象置为nil 保证广告对象为新的请求对象

- (void)fullscreenVideoAdDidClose:(BUFullscreenVideoAd *)fullscreenVideoAd {
  //可在此回调中将广告对象置为nil
}

注意事项

  1. 必须要设置rootViewController,用来处理广告跳转。SDK里所有的跳转均采用present的方式,请确保传入的rootViewController不能为空且没有present其他的控制器,否则会出现presentedViewController已经存在而导致present失败。
  2. 为保证播放流畅和展示流畅,用户体验更好,在收到fullscreenVideoAdVideoDataDidLoad回调后进行广告的展示
  3. 判断广告是否有效直接使用self.fullscreenAd判断即可
  4. 每次请求数据时,都需要重新初始化一个新的BUFullscreenVideoAd对象。请勿重复使用本地缓存的全屏视频对象多次展示.

资源

详细接入可参照Demo中的BUDFullscreenViewController类,广告加载请求部分可参照loadFullscreenVideoAdWithSlotID方法,广告展示部分可参照showFullscreenVideoAd方法

文档内容是否对您有帮助?
联系我们