激励视频是一种全屏播放的视频广告,用户可以在观看完整的视频后获取奖励,视频广告播放结束后会显示结束页面,引导用户进行后续动作。目前激励视频广告的表现形式为:视频播放完展示Endcard页面、视频播放完展示互动页面或者直接出现互动广告。
支持的广告尺寸: 全屏横屏(宽高比16:9)、全屏竖屏(宽高比9:16)
SDK渲染激励视频: 白名单
激励视频再看一个:默认开放
激励视频进阶奖励:SDK版本 >=4400
①开发者根据展示场景勾选视频播放方向:横版or竖版,展示过程中不可旋转
②奖励名称和奖励数量依据自身项目需求设置即可,例如:奖励名称为金币,奖励数量:1000
SDK渲染激励视频使用BURewardedVideoAd对象调用loadAdData方法请求广告,使用BURewardedVideoAd对象调用showAdFromRootViewController:展示广告,通过设置BURewardedVideoAdDelegate代理,获取广告、展示、点击、关闭等回调。
BURewardedVideoAd
请求广告时需要传入广告位对象,广告位对象创建时必须传入广告位ID
每次需要生成新的BURewardedVideoAd对象调用loadAdData方法请求最新激励视频,请勿重复使用本地缓存激励视频多次展示
字段定义 | 是否必传 | 字段名称 | 字段类型 | 备注 |
SlotID | 是 | 广告位 | NSString | 代码位ID |
userId | 是 | tag_id | NSString | tag_id |
extra | 否 | 透传参数 | NSString | 应为json序列化后的字符串,仅支持单个json对象格式,不可以嵌套json对象 |
使用BURewardedVideoAd创建对象,使用BURewardedVideoAd调用loadAdData请求广告
激励视频广告需要让用户主动选择去观看,给用户选择,不能强制用户观看激励视频广告。广告播放完成需要给用户发放相应的奖励。
调用showAdFromRootViewController: 方法展示激励视频广告,此处需要传入当前展示的页面。一定要设置rootViewController,即展示广告和跳转落地页需要的viewController
在收到rewardedVideoAdVideoDidLoad回调后再允许用户观看广告,可保证播放流畅和展示流畅,用户体验更好。
同一次请求的广告最多只能计一次展示,重复的展示会被系统过滤。因此建议开发者在用户观看完广告后在rewardedVideoAdDidClose回调里将原来的广告对象置为nil 保证广告对象为新的请求对象
奖励发放机制分为客户端回调与服务端回调,具体可参考文档: 激励视频交互方式简介&奖励方法说明
回调方法 | 注释 |
rewardedVideoAd:didFailWithError: | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link |
rewardedVideoAdDidLoad: | 广告素材物料加载成功 |
rewardedVideoAdVideoDidLoad: | 视频下载完成 |
BURewardedVideoAdDelegate回调说明
回调方法 | 注释 |
rewardedVideoAdDidLoad: | 物料加载成功回调 |
rewardedVideoAd: didFailWithError: | 加载失败回调 |
rewardedVideoAdVideoDidLoad: | 视频下载成功回调,建议在此回调方法中进行广告的展示,可保证广告播放流畅展示,用户体验较好。 |
rewardedVideoAdWillVisible: | 当广告即将显示时,会进入此回调方法 |
rewardedVideoAdDidVisible: | 当广告已经显示时,会进入此回调方法 |
rewardedVideoAdWillClose: | 当广告即将被关闭时,会进入此回调方法 |
rewardedVideoAdDidClose: | 关闭回调,当广告关闭时可才此回调中进行相关的逻辑 |
rewardedVideoAdDidClick: | 当广告被点击时,会进入此回调方法 |
rewardedVideoAdDidPlayFinish:didFailWithError: | 当广告播放完成或者发生错误时会进入此回调,打印error即可。所有错误码详情请见链接。Link |
rewardedVideoAdServerRewardDidSucceed: verify: | 异步请求的服务器验证成功回调 |
rewardedVideoAdServerRewardDidFail: | 异步请求的服务器验证失败回调 |
rewardedVideoAdServerRewardDidFail: error: | 异步请求的服务器验证失败回调,此回调方法中可打印失败原因,即打印error即可。所有错误码详情请见链接。Link |
rewardedVideoAdDidClickSkip: | 点击跳过回调(此功能需单独申请,cpm负向影响) |
rewardedVideoAdCallback: withType: | 此回调可知激励视频的广告类型 |
通过设置BURewardedVideoAdDelegate代理,获取广告的点击、关闭、播放完成等回调。其他代理方法可参见BUDRewardedVideoAdViewController类#pragma mark - BURewardedVideoAdDelegate
用户在看完一个激励视频后通过进一步广告互动获取更多APP内激励,有利于用户体验与APP活跃市场,同时开发者也可借助该功能提升激励视频曝光量与收入,详情请参考激励视频再看一个 广告介绍。
①必须要设置rootViewController,用来处理广告跳转。SDK里所有的跳转均采用present的方式,请确保传入的rootViewController不能为空且没有present其他的控制器,否则会出现presentedViewController已经存在而导致present失败。
②如选择服务器回调方式,请确保userId为NSString类型且不为空,并保证回调URL格式为
③为保证播放流畅和展示流畅,用户体验更好,在收到rewardedVideoAdVideoDidLoad回调后进行广告的展示
④extra透传参数应为json序列化后的字符串,确保不为空
⑤判断广告是否有效直接使用self.rewardedAd判断即可。目前isAdValid字段已废弃,请不要使用此字段判断广告是否有效
⑥广告的关闭操作必须用户主动触发,客户端不能进行代码层面的强制关闭操作
详细接入可参照Demo中的BUDRewardedVideoAdViewController类,广告加载请求部分可参照loadRewardVideoAdWithSlotID:方法,广告展示部分可参照showRewardVideoAd方法
Online Customer Service24/7 Online Customer Service BotManual customer service, weekdays 10~ 12 o'clock/14~ 19 o'clock