激励广告SDK的导入:
require("./AnyThinkAds/ATRewardedVideoJSSDK");
使用以下代码加载激励视频广告:
var setting = {};
//如果需要通过开发者的服务器进行奖励的下发(部分广告平台支持服务器激励),则需要传递下面两个key
//ATRewardedVideoJSSDK.userIdKey必传,用于标识每个用户;ATRewardedVideoJSSDK.userDataKey为可选参数,传入后将透传到开发者的服务器
setting[ATRewardedVideoJSSDK.userIdKey] = "test_user_id";
setting[ATRewardedVideoJSSDK.userDataKey] = "test_user_data";
ATRewardedVideoJSSDK.loadRewardedVideo(this.placementID(), setting);
注: 请参阅下文,了解如何获得有关激励视频广告事件的通知(加载成功/失败,展示,点击,视频开始/结束和激励)。
使用以下代码判断是否有广告缓存:
ATRewardedVideoJSSDK.hasAdReady(this.placementID());
使用以下代码获取广告状态(返回值类型为Json字符串):
ATRewardedVideoJSSDK.checkAdStatus(this.placementID());
广告状态Json字符串key-value如下:
1、isLoading:是否正在加载
2、isReady:是否有广告缓存
3、adInfo:当前优先级最高的广告缓存信息
与展示原生广告相比,展示激励视频要简单得多,只要调用展示api并传递展示广告位ID或者广告位ID+场景ID(场景ID可通过Taku后台创建)作为参数:
ATRewardedVideoJSSDK.showAd(this.placementID());
//当使用场景功能时,通过此api展示广告
//ATRewardedVideoJSSDK.showAdInScenario(this.placementID(), "Your Scenario Id");
可查看下面的示例代码 (全局只能设置一个监听对象):
var rewardedVideoListener = {
//广告加载成功
onRewardedVideoAdLoaded:function(placementId) {
ATJSSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdLoaded(" + placementId + ")");
},
//广告加载失败
onRewardedVideoAdFailed : function(placementId, errorInfo) {
ATJSSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdFailed(" + placementId + ", " + errorInfo + ")");
},
//广告开始播放
onRewardedVideoAdPlayStart : function(placementId, callbackInfo) {
ATJSSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdPlayStart(" + placementId + ", " + callbackInfo + ")");
},
//广告播放结束
onRewardedVideoAdPlayEnd : function(placementId, callbackInfo) {
ATJSSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdPlayEnd(" + placementId + ", " + callbackInfo + ")");
},
//广告播放失败
onRewardedVideoAdPlayFailed : function(placementId, errorInfo, callbackInfo) {
ATJSSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdPlayFailed(" + placementId + ", " + errorInfo + ", " + callbackInfo + ")");
},
//广告被关闭
onRewardedVideoAdClosed : function(placementId, callbackInfo) {
ATJSSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdClosed(" + placementId + ", " + callbackInfo + ")");
},
//广告被点击
onRewardedVideoAdPlayClicked : function(placementId, callbackInfo) {
ATJSSDK.printLog("AnyThinkRewardedVideoDemo::onRewardedVideoAdPlayClicked(" + placementId + ", " + callbackInfo + ")");
},
//激励成功,开发者可在此回调中下发奖励,一般先于onRewardedVideoAdClosed回调,服务器激励则不一定
onReward : function(placementId, callbackInfo) {
ATJSSDK.printLog("AnyThinkRewardedVideoDemo::onReward(" + placementId + ", " + callbackInfo + ")");
}
}
ATRewardedVideoJSSDK.setAdListener(rewardedVideoListener);
注意: 可查看Demo的AnyThinkRewardedVideoDemoJS.js demo project.