插屏广告
插屏广告一般采用全屏或整页形式,会暂时覆盖应用的整个界面,通常出现在应用自然的暂停或过渡节点,例如游戏关卡完成后、主要视图切换时等。
以下各节将向您介绍如何加载和显示插屏广告。
加载插屏广告
以下代码展示了如何附加监听器以及加载第一则插屏广告:
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);}