菜单

激励视频

1. 激励视频广告

激励广告SDK的导入:

require("./AnyThinkAds/ATRewardedVideoJSSDK"); 

1.1 加载激励视频

使用以下代码加载激励视频广告:

var setting = {};
//如果需要通过开发者的服务器进行奖励的下发(部分广告平台支持服务器激励),则需要传递下面两个key
//ATRewardedVideoJSSDK.userIdKey必传,用于标识每个用户;ATRewardedVideoJSSDK.userDataKey为可选参数,传入后将透传到开发者的服务器
setting[ATRewardedVideoJSSDK.userIdKey] = "test_user_id";
setting[ATRewardedVideoJSSDK.userDataKey] = "test_user_data";
ATRewardedVideoJSSDK.loadRewardedVideo(this.placementID(), setting);

注: 请参阅下文,了解如何获得有关激励视频广告事件的通知(加载成功/失败,展示,点击,视频开始/结束和激励)。

1.2 判断是否有广告缓存以及获取广告状态

使用以下代码判断是否有广告缓存:

ATRewardedVideoJSSDK.hasAdReady(this.placementID());

使用以下代码获取广告状态(返回值类型为Json字符串):

ATRewardedVideoJSSDK.checkAdStatus(this.placementID());

广告状态Json字符串key-value如下:

1、isLoading:是否正在加载

2、isReady:是否有广告缓存

3、adInfo:当前优先级最高的广告缓存信息

1.3 展示激励视频

与展示原生广告相比,展示激励视频要简单得多,只要调用展示api并传递展示广告位ID或者广告位ID+场景ID(场景ID可通过Taku后台创建)作为参数:

ATRewardedVideoJSSDK.showAd(this.placementID());

//当使用场景功能时,通过此api展示广告
//ATRewardedVideoJSSDK.showAdInScenario(this.placementID(), "Your Scenario Id");

1.4 实现激励视频的监听器

可查看下面的示例代码 (全局只能设置一个监听对象)

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.

最近修改: 2025-05-30Powered by