Skip to content

插屏广告

1. 主要API

1.1 插屏广告请求类

ApexAdxAdRequest

参数说明
pid广告位
userId媒体用户体系ID,可选,默认 null
options扩展参数,默认 null

1.2 插屏视频对象类

ApexAdxInterstitialAd

方法说明
ApexAdxInterstitialAd({required ApexAdxAdRequest request, required ApexAdxInterstitialListener<ApexAdxInterstitialAd> listener})初始化插屏广告对象,request 为广告请求对象,必传,listener 插屏视频接口必传
fetchAd()发起广告加载
isAvailable()判断当前广告是否存在可展示的广告
displayAd({Map<String, String>? options})展示广告,可选传入扩展参数
release()销毁广告

1.3 插屏广告回调说明

ApexAdxInterstitialListener 插屏广告回调说明

回调方法说明
onAdLoaded(ApexAdxInterstitialAd ad)广告加载成功,可在此方法判断 isAvailable 后,调用 displayAd 来展示广告
onAdFailedToLoad(ApexAdxError error)广告加载失败
onAdDisplayed()广告曝光
onAdTapped()广告被用户点击
onAdDismissed()广告关闭

2. 示例代码

2.1 创建插屏广告对象

dart
ApexAdxAdRequest request = ApexAdxAdRequest(pid: pid);
ApexAdxInterstitialAd interstitialAd = ApexAdxInterstitialAd(request: request, listener: listener);

2.2 设置监听回调

dart
class IApexAdxInterstitialListener extends ApexAdxInterstitialListener<ApexAdxInterstitialAd> {

  @override
  void onAdTapped() {
    print('onAdTapped');
  }

  @override
  void onAdDismissed() {
    print('onAdDismissed');
  }

  @override
  void onAdDisplayed() {
    print('onAdDisplayed');
  }

  @override
  void onAdFailedToLoad(ApexAdxError error) {
    print('onAdFailedToLoad: ${error.message}');
  }

  @override
  void onAdLoaded(ApexAdxInterstitialAd ad) {
    print('onAdLoaded');
  }
}

2.3 插屏视频广告加载

dart
interstitialAd.fetchAd();

2.4 插屏广告播放

dart
bool isReady = await interstitialAd.isAvailable();
if (isReady) {
  interstitialAd.displayAd();
}

2.5 插屏广告预加载注意事项

  • 平台默认会开启预加载功能。
  • 要注意全局使用同一个 ApexAdxInterstitialAd 对象。(new注意判null
  • 广告播放时可先判断 isAvailable(),如果 ready 直接播放,否则可再次调用 fetchAd()
dart
ApexAdxInterstitialAd? interstitialAd; // 全局对象

/**
 * 加载广告
 */
void loadAd() {
  if (interstitialAd == null) {
    ApexAdxAdRequest request = ApexAdxAdRequest(pid: pid);
    interstitialAd = ApexAdxInterstitialAd(request: request, listener: listener);
  }

  interstitialAd!.fetchAd();
}

ApexAdx SDK Documentation