菜单

插屏广告全自动加载

1. 全自动加载插屏广告介绍

全自动加载模式,是Taku推出的一站式请求维护方案,能够根据用户的使用状态和广告消耗进度,多节点智能判断下一条广告的预加载和缓存时机。在满足开发者运营策略的基础上,规避广告数据实时加载的失败风险和展示机会被浪费,减轻用户因为广告未加载或加载不流畅造成的负面情绪。通过全自动加载方案,开发者可以避免反复冗杂的人工干预请求方案,效率提升立竿见影。SDK开始支持全自动加载模式。

 

1.1 集成建议

(1) 初始化:在主Activity onCreate()里调用ATInterstitialAutoAd.init(mainActivity,placementIds,listener)并传入主Activity进行初始化,后续如需添加全自动加载广告位请调用addPlacementId(placementId)添加

(2) 建议进入可展示广告场景后调用entryAdScenario(placementId,scenarioId)统计当前广告位的缓存状态,具体的统计说明可查看广告场景区分不同业务场景的数据

(3) 展示广告:展示前判断isAdReady(placementId)是否准备好,准备好后再调用show(activity,placement,listener)进行广告展示

 

2. API说明

2.1 广告初始化

ATInterstitialAutoAd: 全自动加载插屏广告的管理类

方法 说明
void init(Context context, String[] placementIds, ATInterstitialAutoLoadListener loadListener) ATInterstitialAutoAd广告的初始化方法,初始化后即自动对指定广告位发起广告加载
context:如果有集成以下平台:优量汇、sigmob、百度、ironSource、Kidoz、Maio、Tabjoy,context必须是Activity
placementIds:开启全自动加载的广告位Id(可传null)
loadListener:广告填充回调,ATInterstitialAutoLoadListener说明见下方

 

初始化:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //建议在主Activity onCreate时传入Activity进行初始化
        ATInterstitialAutoAd.init(MainActivity.this, new String[]{"your iv placementID1", "your iv placementID2"},autoLoadListener);
    }
}

 

2.2 广告展示

ATInterstitialAutoAd:

方法 说明
boolean isAdReady(String placementId) 判断该广告位是否是否存在可展示的广告
placementId:需查询的广告位Id
void show(Activity activity, String placementId, ATInterstitialAutoEventListener eventListener) 展示该广告位插屏广告
activity:展示广告的Activity
placementId:需展示的广告位Id
eventListener:插屏广告展示回调,ATInterstitialAutoEventListener说明见下方
void show(Activity activity, String placementId, ATShowConfig showConfig, ATInterstitialAutoEventListener eventListener) (v6.3.10新增)展示该广告位插屏广告
activity:参数意义同上
placementId:参数意义同上

showConfig:可传入展示时的额外参数,如下1.ATShowConfig#showCustomExt(String showCustomExt):可传入展示时自定义参数,传入的该参数将通过ATAdInfo#getShowCustomExt()返回 2.ATShowConfig#scenarioId(String scenarioId):可传入广告场景,同show(Activity activity, String placementId, String scenario, ATInterstitialAutoEventListener eventListener)

eventListener:参数意义同上
void entryAdScenario(String placementId, String scenarioId) 对应广告位进入业务场景缓存状态统计
placementId:广告位Id
scenario:广告展示场景,可从后台创建场景参数和使用请参考 业务场景缓存状态统计

 

广告展示:

/*
     为了统计场景到达率,相关信息可查阅 "https://help.takuad.com/docs/1RWLAv"
     在满足广告触发条件时调用“进入广告场景”方法,比如:
     ** 广告场景是在清理结束后弹出广告,则在清理结束时调用;
     * 1、先调用 "entryAdScenario"
     * 2、在调用 "isAdReady" 是否可展示
     * 3、最后调用 "show" 展示
     * 4、scenario 传入场景id后台场景管理才会有数据显示
     */
ATInterstitial.entryAdScenario("your iv placementID1", "your scenarioID"");
//需判断广告位是否准备好
if(ATInterstitialAutoAd.isAdReady("your iv placementID1")){
    ATInterstitialAutoAd.show(activity, "your iv placementID1","your scenarioID", autoEventListener);
}

 

2.3 广告对象

ATInterstitialAutoAd:

方法 说明
checkAdStatus(String placementId) 获取该广告位的状态对象 ATAdStatusInfo,ATAdStatusInfo对象的API说明见下方
placementId:需查询的广告位Id
checkValidAdCaches(String placementId) 查询该广告位的所有缓存信息的ATAdInfo对象
placementId:需查询的广告位Id
void addPlacementId(String... placementIds) 添加需全自动加载广告位
placementIds:需全自动加载广告位Id
void removePlacementId(String... placementIds) 移除无需全自动加载广告位
placementIds:无需全自动加载广告位Id

 

ATAdStatusInfo:广告位的状态对象

方法 说明
boolean isLoading() 判断当前广告位是否正在加载广告
boolean isReady() 判断当前广告位是否存在可展示的广告,与ATInterstitialAutoAd.isAdReady()方法作用相同
getATTopAdInfo 获取当前广告位优先级最高的广告缓存信息 ATAdInfo对象
ATAdInfo:广告的信息对象,可区分广告平台,主要包含第三方聚合平台的id信息 见ATAdInfo信息说明

 

2.4 广告监听

ATInterstitialAutoLoadListener:ATInterstitialAutoAd广告的加载事件回调监听:

方法 说明
void onInterstitialAutoLoaded(String placementId) 对应广告位广告加载成功回调
placementId:对应广告位Id
void onInterstitialAutoLoadFail(String placementId, AdError adError) 对应广告位广告加载失败回调
placementId:广告位Id
adError:广告加载失败信息,可通过AdError.getFullErrorInfo()获取全部错误信息,请参考 AdError

 

监听示例:

private static final ATInterstitialAutoLoadListener autoLoadListener = new ATInterstitialAutoLoadListener() {
@Override
        public void onInterstitialAutoLoaded(String placementId) {
           Log.i(TAG, "PlacementId:" + placementId + ": onInterstitialAutoLoaded");
        }
        @Override
        public void onInterstitialAutoLoadFail(String placementId, AdError adError) {
           Log.i(TAG, "PlacementId:" + placementId + ": onInterstitialAutoLoadFail:\n" + adError.getFullErrorInfo());
        };

 

ATInterstitialAutoEventListener:ATInterstitialAutoAd广告的事件回调监听:

方法 说明
void onInterstitialAdClicked(ATAdInfo atAdInfo) 广告点击回调
ATAdInfo:广告的信息对象,可区分广告平台,主要包含第三方聚合平台的id信息 见ATAdInfo信息说明
void onInterstitialAdShow(ATAdInfo atAdInfo) 广告展示回调
参数意义同上
void onInterstitialAdClose(ATAdInfo atAdInfo) 广告关闭回调
参数意义同上
void onInterstitialAdVideoStart(ATAdInfo atAdInfo) 视频广告开始播放回调
参数意义同上
void onInterstitialAdVideoEnd(ATAdInfo atAdInfo) 视频广告播放结束回调
参数意义同上
void onInterstitialAdVideoError(AdError adError) 视频广告播放失败回调
adError:可通过AdError.getFullErrorInfo()获取全部错误信息,请参考 AdError

 

监听示例:

private static final ATInterstitialAutoEventListener autoEventListener = new ATInterstitialAutoEventListener() {
 @Override
        public void onInterstitialAdClicked(ATAdInfo adInfo) {
            Log.i(TAG, "onInterstitialAdClicked:" + adInfo.toString());
      
          @Override
        public void onInterstitialAdShow(ATAdInfo adInfo) {
            Log.i(TAG, "onInterstitialAdShow:" + adInfo.toString());
      
        }
          @Override
        public void onInterstitialAdClose(ATAdInfo adInfo) {
            Log.i(TAG, "onInterstitialAdClose:" + adInfo.toString());
          
        }
         @Override
        public void onInterstitialAdVideoStart(ATAdInfo adInfo) {
            Log.i(TAG, "onInterstitialAdVideoStart:" + adInfo.toString());
    
        }
          @Override
        public void onInterstitialAdVideoEnd(ATAdInfo adInfo) {
            Log.i(TAG, "onInterstitialAdVideoEnd:" + adInfo.toString());
         
        }
         @Override
        public void onInterstitialAdVideoError(AdError adError) {
            Log.i(TAG, "onInterstitialAdVideoError:" + adError.getFullErrorInfo());
         
        }
        };

 

3示例代码

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //建议在主Activity onCreate时传入Activity进行初始化
        ATInterstitialAutoAd.init(MainActivity.this, new String[]{"placementId1", "placementId2"},autoLoadListener);
    }
    private static final ATInterstitialAutoLoadListener autoLoadListener = new ATInterstitialAutoLoadListener() { 
    @Override 
    public void onInterstitialAutoLoaded(String placementId) { 
    Log.i(TAG, "PlacementId:" + placementId + ": onInterstitialAutoLoaded");
    } 
    @Override 
    public void onInterstitialAutoLoadFail(String placementId, AdError adError) { 
     Log.i(TAG, "PlacementId:" + placementId + ": onInterstitialAutoLoadFail:\n" + adError.getFullErrorInfo());
    };
    /*
     为了统计场景到达率,相关信息可查阅 "https://docs.takuad.com/#/zh-cn/android/NetworkAccess/scenario/scenario"
     在满足广告触发条件时调用“进入广告场景”方法,比如:
     ** 广告场景是在清理结束后弹出广告,则在清理结束时调用;
     * 1、先调用 "entryAdScenario"
     * 2、在调用 "isAdReady" 是否可展示
     * 3、最后调用 "show" 展示
     * 4、scenario 传入场景id后台场景管理才会有数据显示
     */
ATInterstitial.entryAdScenario(placementId, "scenario");
//需判断广告位是否准备好
    if(ATInterstitialAutoAd.isAdReady("placementId1")){
    ATInterstitialAutoAd.show(activity, "placementId1","scenario", autoEventListener);
}
 private static final ATInterstitialAutoEventListener autoEventListener = new ATInterstitialAutoEventListener() { 
  @Override 
 public void onInterstitialAdClicked(ATAdInfo adInfo) {
   Log.i(TAG, "onInterstitialAdClicked:" + adInfo.toString());
  @Override 
  public void onInterstitialAdShow(ATAdInfo adInfo) {
   Log.i(TAG, "onInterstitialAdShow:" + adInfo.toString()); }
   @Override 
   public void onInterstitialAdClose(ATAdInfo adInfo) { 
   Log.i(TAG, "onInterstitialAdClose:" + adInfo.toString()); }
   @Override 
    public void onInterstitialAdVideoStart(ATAdInfo adInfo) {
   Log.i(TAG, "onInterstitialAdVideoStart:" + adInfo.toString()); }
   @Override
     public void onInterstitialAdVideoEnd(ATAdInfo adInfo) { 
   Log.i(TAG, "onInterstitialAdVideoEnd:" + adInfo.toString()); } 
   @Override 
     public void onInterstitialAdVideoError(AdError adError) { 
   Log.i(TAG, "onInterstitialAdVideoError:" + adError.getFullErrorInfo());
     }
     };

}

详细插屏广告示例代码请参考:Demo的InterstitialAdActivity类

上一个
激励视频广告全自动加载
下一个
自定义广告平台
最近修改: 2025-05-30Powered by