插屏广告

插屏广告一般采用全屏或整页形式,会暂时覆盖应用的整个界面,通常出现在应用自然的暂停或过渡节点,例如游戏关卡完成后、主要视图切换时等。

以下各节将向您介绍如何加载和显示插屏广告。

加载插屏广告

以下代码展示了如何附加监听器以及加载第一则插屏广告:

final String _interstitial_ad_unit_ID = Platform.isAndroid ? "«Android-ad-unit-ID»" : "«iOS-ad-unit-ID»";
const int _maxExponentialRetryCount = 6;
var _interstitialRetryAttempt = 0;

void initializeInterstitialAds() {

  AppLovinMAX.setInterstitialListener(InterstitialListener(
    onAdLoadedCallback: (ad) {
      // Interstitial ad is ready to show. AppLovinMAX.isInterstitialReady(_interstitial_ad_unit_ID) now returns 'true'.
      print('Interstitial ad loaded from ' + ad.networkName);

      // Reset retry attempt
      _interstitialRetryAttempt = 0;
    },
    onAdLoadFailedCallback: (adUnitId, error) {
      // Interstitial ad failed to load.
      // AppLovin recommends that you retry with exponentially higher delays up to a maximum delay (in this case 64 seconds).
      _interstitialRetryAttempt = _interstitialRetryAttempt + 1;
      if (_interstitialRetryAttempt > _maxExponentialRetryCount) return;
      int retryDelay = pow(2, min(_maxExponentialRetryCount, _interstitialRetryAttempt)).toInt();

      print('Interstitial ad failed to load with code ' + error.code.toString() + ' - retrying in ' + retryDelay.toString() + 's');

      Future.delayed(Duration(milliseconds: retryDelay * 1000), () {
        AppLovinMAX.loadInterstitial(_interstitial_ad_unit_ID);
      });
    },
    onAdDisplayedCallback: (ad) {
      ⋮
    },
    onAdDisplayFailedCallback: (ad, error) {
      ⋮
    },
    onAdClickedCallback: (ad) {
      ⋮
    },
    onAdHiddenCallback: (ad) {
      ⋮
    },
  ));

  // Load the first interstitial.
  AppLovinMAX.loadInterstitial(_interstitial_ad_unit_ID);
}

显示插屏广告

调用 showInterstitial() 以显示插屏广告:

bool isReady = (await AppLovinMAX.isInterstitialReady(_interstitial_ad_unit_ID))!;
if (isReady) {
  AppLovinMAX.showInterstitial(_interstitial_ad_unit_ID);
}

这篇文章有帮助吗?
这篇文章有帮助吗?
search