激励视频是一种全屏播放的视频广告,用户可以在观看完整的视频后获取奖励,视频广告播放结束后会显示结束页面,引导用户进行后续动作。目前激励视频广告的表现形式为:视频播放完展示Endcard页面、视频播放完展示互动页面或者直接出现互动广告。
激励视频再看一个功能,用户在看完一个激励视频后通过进一步广告互动获取更多APP内激励,有利于用户体验与APP活跃市场,同时开发者也可借助该功能提升激励视频曝光量与收入,详情请参考激励视频再看一个 广告介绍。
使用场景包括但不限于:1、游戏等应用内观看视频广告获得游戏内金币等;2、积分类应用接入;
支持的广告尺寸: 全屏横屏(宽高比16:9)、全屏竖屏(宽高比9:16)。Android端暂不支持重力旋转
模板渲染激励视频广告: 默认提供
SDK渲染激励视频广告: 已回收,不再提供创建
激励视频再看一个:需要白名单权限,请联系BD开启,要求SDK版本 >=4300
备注:模板渲染激励视频和SDK渲染激励视频的广告请求方式上没有差异,仅是请求参数上的差异。
模板渲染的激励视频请求方法中需要设置setExpressViewAcceptedSize参数 设置的值大于0即可
方法 | 说明 |
setCodeId() | 平台创建的代码位ID 以9开头9位数字 |
setRewardName() | 奖励名称(选填) 与创建代码位填写的保持一致 。3300及以上版本中废弃 |
setRewardAmount() | 奖励数量(选填) 与创建代码位填写的保持一致。3300及以上版本中废弃 |
setExpressViewAcceptedSize() | 设置请求模板广告素材的尺寸 单位:dp , 设置的值大于0即可(模板广告必填) |
setUserID() | tag_id |
setMediaExtra() | 用户透传信息(选填)仅支持单个json对象格式,不可以嵌套json对象 |
setOrientation() | 期望视频的播放方向 与创建代码位勾选的方向保持一致 (必填) |
setAdLoadType() | 用于标注此次的广告请求用途为预加载(当做缓存)还是实时加载,方便后续为开发者优化相关策略,传入参数值:UNKNOWN//未知,默认值,开发者未传入,或当此次加载的广告用途未知时使用PRELOAD//预加载,当此次加载的广告用途为预加载(当作缓存)时使用LOAD//实时加载,当此次加载的广告用途为实时播放时使用 |
注:模板渲染代码位setExpressViewAcceptedSize必填 ,SDK模板渲染代码位ID勿传
调用
TTAdNative.loadRewardVideoAd(AdSlot var1, @NonNull TTAdNative.RewardVideoAdListener var2)
异步加载激励视频广告
方法 | 参数 | 说明 |
void setRewardAdInteractionListener(TTRewardVideoAd.RewardAdInteractionListener var1) | TTRewardVideoAd.RewardAdInteractionListener var1 | 方法说明:注册激励视频广告回调参数说明:listener 交互监听器 |
void setRewardPlayAgainInteractionListener(TTRewardVideoAd.RewardAdInteractionListener var1) | TTRewardVideoAd.RewardAdInteractionListener var1 | 方法说明:注册激励视频再看一个广告回调参数说明: listener 交互监听器 |
void setDownloadListener(TTAppDownloadListener var1) | TTAppDownloadListener var1 | 方法说明:注册广告的下载回调参数说明:listener 下载状态回调 |
int getInteractionType() | 无 | 方法说明:- 2在浏览器内打开 (普通类型-3落地页(普通类型)- 4:应用下载,- 5:拨打电话-1 未知类型参数说明:无 |
@MainThreadvoid showRewardVideoAd(Activity var1) | Activity var1 | 方法说明:展示激励视频广告接口参数说明:宿主activity |
Map<String, Object> getMediaExtraInfo() | 无 | 方法说明:返回广告额外信息参数说明:无 |
void showRewardVideoAd(Activity var1, RitScenes var2, String var3) | Activity var1, RitScenes var2, String var3 | 方法说明: 展示激励视频广告接口参数说明:Activity :宿主activityRitScenes:广告展示的场景String:广告展示场景为 CUSTOMIZE_SCENES 时,自定义的场景信息 |
void setShowDownLoadBar(boolean var1) | boolean var1 | 方法说明:设置展示下载bar参数说明:boolean型- True- false |
int getRewardVideoAdType() | 无 | 方法说明:得到广告的交互类型AD_TYPE_UNKNOWN //未知类型 AD_TYPE_COMMON_VIDEO //普通视频类型AD_TYPE_PLAYABLE_VIDEO //video + playable 类型AD_TYPE_PLAYABLE //playable类型参数说明:无 |
long getExpirationTimestamp() | 无 | 方法说明:返回有效期的截止时间,超过这个时间点,广告视为过期参数说明:无 |
public interface RewardAdInteractionListener () | 无 | 见RewardAdInteractionListener说明 |
参数 | 说明 |
onAdShow() | 广告的展示回调 |
onAdVideoBarClick() | 广告下载bar点击回调 |
onAdClose() | 广告关闭回调 |
onVideoComplete() | 视频播放完成回调 |
onVideoError() | 视频播放异常回调 |
onSkippedVideo() | 跳过视频播放回调 |
onRewardVerify() | 奖励验证回调,开发者在需要在此回调中做奖励的发放 |
方法 | 说明 |
onError() | 广告请求失败回调 返回的错误码(code)表示广告请求失败的原因,详情请见链接 |
onRewardVideoCached() | 广告视频本地加载完成的回调,可以在这个回调后直接播放本地视频 |
onRewardVideoCached(TTRewardVideoAd ad) | 广告视频本地加载完成的回调,可以在这个回调后直接播放本地视频,直接使用参数对象来播放 |
onRewardVideoAdLoad() | 广告加载完成的回调 |
注:为保证广告视频播放的流畅建议在onRewardVideoCached回调加载完毕后,再在主线程中调用showRewardVideoAd方法进行广告的展示。 展示广告完毕之后及时把广告对象置为null
onRewardVerify 回调说明:
综上: onRewardVerify 回调只是视频播放状态的一个结果或者是开发者返回的结果,不代表此次播放是否计费等广告业务指标。
参数 | 说明 |
rewardVerify | 是否有效 |
rewardAmount | 奖励数量,媒体平台创建代码位时配置的数值 |
rewardName | 奖励名称,媒体平台创建代码位时配置的名称 |
code | 错误码。 3300版本新增 |
msg | msg错误信息。 3300版本新增 |
isRewardValid | 奖励是否有效。4400版本新增 |
rewardType | 奖励类型,0:基础奖励 >0:进阶奖励 。4400版本新增 |
extraInfo | 奖励的额外参数。4400版本新增 |
注:SDK3300版本onRewardVerify回调方法中新增int code,String msg参数需要服务器判断:可根据rewardVerify作为判断条件 进行奖励的发放无需服务器判断:rewardVerify默认是返回true 测试状态的代码位rewardVerify默认返回false
SDK4400版本onRewardVerify新增进阶奖励回调方法,旧接口不支持进阶奖励只给基础奖励回调,进阶奖励只会回调新接口,新的参数为 isRewardValid, rewardType, extraInfo。
其中rewardType 为枚举类型,包括:基础奖励 int REWARD_TYPE_DEFAULT = 0、进阶奖励-互动 int REWARD_TYPE_INTERACT = 1、进阶奖励-超过30s的视频播放完成 int REWARD_TYPE_VIDEO_COMPLETE = 2。
extraInfo为额外参数,包括:errorCode: 服务器验证错误码、errorMsg:服务器验证错误信息、RewardName: 奖励名称、RewardAmount:奖励数量、RewardProPose:建议奖励数量。
奖励发放逻辑可参考此文档: Link
服务器到服务器回调让您判定是否提供奖励给观看广告的用户。当用户成功看完广告时,会向您在穿山甲平台中配置的验证接口发送验证请求,由开发者来判断此次观看是否给用户发放奖励。重点说明: 穿山甲服务端只是透传验证请求,不会在中间过程添加校验逻辑。为了保障开发者利益和用户体验,开发者可以在验证环节增加自己的校验逻辑。
穿山甲服务器会以 GET 方式请求第三方服务的回调链接,并拼接以下参数回传:user_id=%s&trans_id=%s&reward_name=%s&reward_amount=%d&extra=%s&sign=%s
字段名称 | 字段定义 | 字段类型 | 备注 |
sign | 签名 | string | 签名 |
user_id | tagid | string | 调用 SDK 透传 |
trans_id | 交易 | string | 完成观看的唯一交易 ID |
reward_amount | 奖励数量 | int | 媒体平台创建代码位时配置的数值 |
reward_name | 奖励名称 | sting | 媒体平台创建代码位时配置的名称 |
extra | Extra | string | 调用 SDK 传入并透传,如无需要则为空 |
appSecurityKey: 您在穿山甲媒体平台新建奖励视频代码位获取到的密钥
transId:交易 id
Python 示例:
字段名称 | 字段定义 | 字段类型 | 备注 |
isValid | 校验结果 | bool | 判定结果,是否发放奖励 |
注意:按照SDK要求需要服务器判断的回调url是一个get请求 默认返回的是一个json字符串{"isValid": true}
示例:
激励视频广告请参考Demo中的RewardVideoActivity
Q:onRewardVerify(旧接口)和onRewardArrived(新接口)区别是什么?
A:
📢:onRewardArrived回调在4400及以上版本生效;
在线客服智能客服 7*24小时在线人工客服 工作日 10~12点/14~19点