激励视频
一、注意事项
- 禁止在
onRewardVideoLoadFailed
回调中执行广告加载的方法,否则会引起死循环。 - 禁止在
onRewardVideoLoaded
回调中直接执行广告展示的方法。SDK有广告过期自动补充功能。如果在onRewardVideoLoaded
回调中执行showRewardVideoAd()
,开发者会无法精准控制告展示的时机。
二、集成步骤
1、请求广告
//配置参数extraMap
var extra :TPRewardVideoExtra = {
userId:"12345",// 激励视频服务器奖励回调 userId
customData:"tp_customData",// 激励视频服务器奖励回调 customdata
customMap:customMap, //流量分组
localParams:localParams,//local自定义Map
openAutoLoadCallback : false,//开启一次loadRewardVideoAd对应一次onAdLoaded回调,默认关闭
maxWaitTime: waitTime
};
TradPlusRewardVideo.loadRewardVideoAd("在TP平台创建的广告位ID",extra);
2、检查是否有可用广告
- 开发者在监听到onAdLoaded回调后调用。
- 建议开发者展示广告前,调用该API判断是否有可用广告,有广告再调用show方法
- true表示有可用广告,false表示暂时无可用广告
- 当调用
rewardVideoAdReady
返回false时,sdk会重新请求广告,无需开发者再次调用load方法。
var ready = TradPlusRewardVideo.rewardVideoAdReady("在TP平台创建的广告位ID");
3、进入广告场景
- 进入广告场景时传入sceneId,展示广告时也需传入sceneId,否则会影响统计。
TradPlusRewardVideo.entryRewardVideoAdScenario("在TP平台创建的广告位ID","sceneId");
4、展示广告
TradPlusRewardVideo.showRewardVideoAd("在TP平台创建的广告位ID","sceneId");
5、监听回调
var listener:TPRewardVideoListener = {
onRewardVideoLoaded(adUnitId, adInfo) {
// 请求一次广告,有广告加载成功,一轮请求只会返回一次
},
onRewardVideoLoadFailed(adUnitId, error) {
// 请求一次广告,所有广告加载失败,一轮请求只会返回一次
},
onRewardVideoImpression(adUnitId, adInfo) {
// 展示成功
},
onRewardVideoShowFailed(adUnitId, adInfo, error) {
// 展示失败
},
onRewardVideoClosed(adUnitId, adInfo) {
// 广告关闭
},
onRewardVideoClicked(adUnitId, adInfo) {
// 广告点击
},
onRewardVideoStartLoad(adUnitId, adInfo) {
// 广告开始加载
},
onRewardVideoBiddingStart(adUnitId, adInfo) {
// Bidding开始
},
onRewardVideoBiddingEnd(adUnitId, adInfo, error) {
// Bidding结束,有error表示Bidding失败
},
onRewardVideoIsLoading(adUnitId) {
// 一轮请求还没有结束,又发起了一轮请求
},
onRewardVideoOneLayerStartLoad(adUnitId, adInfo) {
// 每层广告开始加载
},
onRewardVideoOneLayerLoaded(adUnitId, adInfo) {
// 单层广告加载成功
},
onRewardVideoOneLayerLoadFailed(adUnitId, adInfo, error) {
// 单层广告加载加载失败
},
onRewardVideoPlayStart(adUnitId, adInfo) {
// 播放开始
},
onRewardVideoPlayEnd(adUnitId, adInfo) {
// 播放结束
},
onRewardVideoAllLoaded(adUnitId, isSuccess) {
// 请求一次广告,一轮结束会收到一次回调,success true表示有广告加载成功,false表示所有广告加载失败
},
onRewardVideoRewarded(adUnitId, adInfo) {
// 奖励回调
},
};
TradPlusRewardVideo.setRewardVideoListener(listener);
“再看一次”监听回调 快手、穿山甲支持(可选)
...
onPlayAgainImpression(adUnitId, adInfo) {
// “再看一次”展示
},
onPlayAgainShowFailed(adUnitId, adInfo, error) {
// “再看一次”展示失败
},
onPlayAgainClicked(adUnitId, adInfo) {
// “再看一次”点击
},
onPlayAgainRewarded(adUnitId, adInfo) {
// “再看一次”奖励
},
onPlayAgainPlayStart(adUnitId, adInfo) {
// “再看一次”视频播放开始
},
onPlayAgainPlayEnd(adUnitId, adInfo) {
// “再看一次”视频播放结束
},
onDownloadStart(adUnitId, adInfo, totalBytes, currBytes, fileName, appName) {
// 开始下载回调
// totalBytes:文件总大小(单位:字节)
// currBytes:当前已下载的大小(单位:字节)
// fileName:文件名称
// appName:文件对应的应用名称
},
onDownloadUpdate(adUnitId, adInfo, totalBytes, currBytes, fileName, appName, progres) {
// 下载进度更新回调
// progress:下载进度
},
onDownloadPause(adUnitId, adInfo, totalBytes, currBytes, fileName, appName) {
// 暂停下载回调
},
onDownloadFinish(adUnitId, adInfo, totalBytes, currBytes, fileName, appName) {
// 下载完成回调
},
onDownloadFailed(adUnitId, adInfo, totalBytes, currBytes, fileName, appName) {
// 下载失败回调
},
onInstalled(adUnitId, adInfo, totalBytes, currBytes, fileName, appName) {
// 下载失败回调
},
...