激励视频是一种全屏播放的视频广告,用户可以在观看完整的视频后获取奖励,视频广告播放结束后会显示结束页面,引导用户进行后续动作。目前激励视频广告的表现形式为:视频播放完展示Endcard页面、视频播放完展示互动页面或者直接出现互动广告。
支持的广告尺寸: 全屏横屏(宽高比16:9)、全屏竖屏(宽高比9:16)
①开发者根据展示场景勾选视频播放方向:横版or竖版,展示过程中不可旋转
②奖励名称和奖励数量依据自身项目需求设置即可,例如:奖励名称为金币,奖励数量:1000。V< 5.2.0.4,奖励发放实际情况按照平台配置参数进行下发,客户端接口不生效。iOS/Android SDK版本>=5.2.0.4,支持在激励视频广告中显示奖励内容,通过客户端接口设置rewardName和rewardAmount字段,详见下方“在激励广告中显示奖励内容”模块说明。
模版激励视频使用BUNativeExpressRewardedVideoAd对象调用loadAdData方法请求广告,使用BUNativeExpressRewardedVideoAd对象调用showAdFromRootViewController:展示广告,通过设置BUNativeExpressRewardedVideoAdDelegate代理,获取广告、展示、点击、关闭等回调。
请求广告时需要传入广告位对象,广告位对象创建时必须传入广告位ID
字段定义 | 是否必传 | 字段名称 | 字段类型 | 备注 |
slotID | 是 | 代码位ID | NSString | 应为json序列化后的字符串 |
model | 是 | / | BURewardedVideoModel |
|
使用BUNativeExpressRewardedVideoAd创建对象,使用BUNativeExpressRewardedVideoAd调用loadAdDat请求广告
激励视频广告需要让用户主动选择去观看,给用户选择,不能强制用户观看激励视频广告。广告播放完成需要给用户发放相应的奖励。调用showAdFromRootViewController:方法展示激励视频广告,此处需要传入当前展示的页面。一定要设置rootViewController,即展示广告和跳转落地页需要的viewController
在收到nativeExpressRewardedVideoAdDidDownLoadVideo回调后再允许用户观看广告,可保证播放流畅和展示流畅,用户体验更好。
同一次请求的广告最多只能计一次展示,重复的展示会被系统过滤。因此建议开发者在用户观看完广告后在nativeExpressRewardedVideoAdDidClose回调里将原来的广告对象置为nil 保证广告对象为新的请求对象
奖励发放机制分为客户端回调与服务端回调,具体可参考文档: 激励视频交互方式简介&奖励方法说明
BUNativeExpressRewardedVideoAdDelegate回调说明
回调方法 | 注释 |
nativeExpressRewardedVideoAd:didFailWithError | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link |
nativeExpressRewardedVideoAdViewRenderFail:error | 渲染失败,网络原因或者硬件原因导致渲染失败,可以更换手机或者网络环境测试。建议升级到穿山甲平台最新版本 |
nativeExpressRewardedVideoAdDidLoad | 广告素材物料加载成功 |
nativeExpressRewardedVideoAdDidDownLoadVideo | 视频下载完成 |
BUNativeExpressRewardedVideoAdDelegate回调说明
回调方法 | 注释 |
nativeExpressRewardedVideoAdDidLoad: | 回调进入证明广告物料已成功加载 |
nativeExpressRewardedVideoAd: didFailWithError: | 此回调方法中可定位具体的失败原因对应的错误码,打印error即可。所有错误码详情请见链接。Link |
nativeExpressRewardedVideoAdCallback:withType: | 此回调可知模版激励视频的广告类型 |
nativeExpressRewardedVideoAdDidDownLoadVideo | 建议在此回调方法中进行广告的展示操作,可保证播放流畅和展示流畅,用户体验更好。 |
nativeExpressRewardedVideoAdViewRenderSuccess: | 渲染成功回调。3100之后版本SDK,广告展示之后才会回调 |
nativeExpressRewardedVideoAdViewRenderFail: | 渲染失败,网络原因或者硬件原因导致渲染失败,可以更换手机或者网络环境测试。建议升级到穿山甲平台最新版本 |
nativeExpressRewardedVideoAdWillVisible: | 模版激励视频广告即将展示 |
nativeExpressRewardedVideoAdDidVisible: | 模版激励视频广告已经展示 |
nativeExpressRewardedVideoAdWillClose: | 模版激励视频广告即将关闭 |
nativeExpressRewardedVideoAdDidClose: | 用户关闭广告时会触发此回调,注意:任何广告的关闭操作必须用户主动触发; |
nativeExpressRewardedVideoAdDidClick: | 点击回调方法 |
nativeExpressRewardedVideoAdDidClickSkip: | 跳过回调方法 |
nativeExpressRewardedVideoAdDidPlayFinish: | 视频正常播放完成时可触发此回调方法,当广告播放发生异常时,不会进入此回调; |
nativeExpressRewardedVideoAdServerRewardDidSucceed: | 异步请求的服务器验证成功回调,开发者需要在此回调中进行奖励发放。现在包括两个验证方法:1. C2C不需要服务器验证2。S2S需要服务器验证。nativeExpressRewardedVideoAdServerRewardDidFail:异步请求的服务器验证失败回调。可在此回调方法中打印error,定位具体失败的原因,或通过抓包定位具体原因,抓包地址:https://域名或者ip地址/api/ad/union/sdk/get_ads/ 提供返回的数据进行确认)到【留言反馈】-【技术类提问入口(技术类暂仅支持此入口的提问回复)】进行反馈,相关同学会为您处理 |
nativeExpressRewardedVideoAdDidCloseOtherController:interactionType:此回调在广告跳转到其他控制器时,该控制器被关闭时调用interactionType: | 此参数可区分是打开的appstore/网页/视频广告详情页面 |
nativeExpressRewardedVideoAdServerRewardDidSucceed 回调说明
①不使用户服务端奖励验证的情况下nativeExpressRewardedVideoAdServerRewardDidSucceed回调只校验视频播放状态或者进度,视频播放90%或者因播放器异常导致出现播放失败,那么穿山甲都会回调nativeExpressRewardedVideoAdServerRewardDidSucceed,并且返回结果为true。
②使用服务端奖励验证的情况下nativeExpressRewardedVideoAdServerRewardDidSucceed回调返回的则是开发者服务端验证的结果。
综上: nativeExpressRewardedVideoAdServerRewardDidSucceed 回调只是视频播放状态的一个结果或者是开发者返回的结果,不代表此次播放是否计费等广告业务指标。
①适用范围:此功能双端SDK均需在4600及以上。
②权限等级:功能为白名单制。对开发者appid或者指定的rit进行加白。
③视频时长限制:进阶奖励仅针对视频素材时长>35s生效。
用户在看完一个激励视频后通过进一步广告互动获取更多APP内激励,有利于用户体验与APP活跃市场,同时开发者也可借助该功能提升激励视频曝光量与收入,详情请参考激励视频再看一个 广告介绍。
①版本要求:iOS/Android SDK版本>=5.2.0.4;
②权限等级:功能面向所有账户开放;
③若想使用此功能,必须在穿山甲平台-激励视频代码位创编中配置开启“是否在广告中显示奖励内容”开关。
④开启后,根据系统优选的结果,您设置的奖励物品名称、奖励数量将有可能在广告播放过程中展示。开发者可以通过两种方案配置具体显示的奖励内容。在截图所示穿山甲平台的代码位创编页面中里输入奖励名称和数量。在请求广告时传入奖励名称和数量,详见文档「接口改动」部分。在实际使用时,会按照优先级 b > a 来展示,若奖励名称和数量任一为空,则认为此对值无效。奖励数量为1~5个数字整数值,奖励内容为1~10个英文字符长度的字符串。
⑤具体的使用示例与温馨提示奖励物品名称“金币”,奖励数量“500”,广告挽留弹窗提示用户继续看完视频可领取“100金币”;奖励物品名称“分钟免广告”,奖励数量“60”,挽留弹窗显示继续观看xxs可领取奖励“60分钟免广告”。建议开发者配置/回传用户可真实获取的奖励内容,避免用户对奖励预期与获取产生出入。推荐开发者通过接口回传的形式,以便更灵活、动态地下发奖励,在用户粒度个性化优化收益。
在构建BUNativeExpressRewardedVideoAd时,使用BURewardedVideoModel,传入奖励名称与奖励数量。
①版本要求:iOS/Android SDK版本>=5.2.0.4;
②权限等级:功能面向所有账户开放;
③若想使用此功能,必须在穿山甲平台-激励视频代码位创编中配置开启“是否在广告中显示奖励内容”开关。
④开启后,根据系统优选的结果,您设置的奖励物品名称、奖励数量将有可能在广告播放过程中展示。开发者可以通过两种方案配置具体显示的奖励内容。
⑤具体的使用示例与温馨提示
在构建BUNativeExpressRewardedVideoAd时,使用BURewardedVideoModel,传入奖励名称与奖励数量。
①必须要设置rootViewController,用来处理广告跳转。SDK里所有的跳转均采用present的方式,请确保传入的rootViewController不能为空且没有present其他的控制器,否则会出现presentedViewController已经存在而导致present失败。
②如选择服务器回调方式,请确保userId为NSString类型且不为空,并保证回调URL 格式为
③nativeExpressRewardedVideoAdViewRenderSuccess渲染成功回调在广告展示后
④为保证播放流畅和展示流畅,用户体验更好,在收到nativeExpressRewardedVideoAdDidDownLoadVideo回调后进行广告的展示
⑤extra透传参数应为json序列化后的字符串,确保不为空
⑥判断广告是否有效直接使用self.rewardedAd判断即可。目前isAdValid字段已废弃,请不要使用此字段判断广告是否有效
⑦个性化模板广告为了优化展示速度,会使用本地模板,请求时会拦截相关数据.如果接入方正在使用H5的页面发送请求,会造成请求body清空,其他逻辑不变.如果使用body传参请更换其他方式.例如:jsBridge方式。
⑧广告的关闭操作,必须用户主动触发,客户端不能进行代码层面的强制关闭操作
详细接入可参照Demo中的BUDExpressRewardedVideoViewController类,广告加载请求部分可参照loadRewardVideoAdWithSlotID方法,广告展示部分可参照showRewardVideoAd方法
在线客服智能客服 7*24小时在线人工客服 工作日 10~12点/14~19点