広告プリロード(ベータ版)

プラットフォームを選択: iOS Unity Flutter Android(レガシー)

広告のプリロードは、Google Mobile Ads Flutter Plugin の Google 管理の広告読み込み機能で、 広告の読み込みとキャッシュを代行して管理します。広告のプリロードを使用するには、広告の読み込み方法を変更する必要があります。広告のプリロードを使用してパフォーマンスを最適化するには、 カスタムキャッシュを無効にして、その処理を Google Mobile Ads Flutter Plugin に委任します。

広告のプリロードには、手動での広告読み込みに比べて次のようなメリットがあります。

  • 参照の管理: 読み込まれた広告を保持するため、広告を表示する準備ができるまで参照を維持する必要はありません。
  • 自動再読み込み: キャッシュから広告を取り出すと、新しい広告が自動的に読み込まれます。
  • 管理された再試行: 指数バックオフを使用して、失敗したリクエストを自動的に再試行します。
  • 有効期限の処理: 広告の有効期限が切れる前に(通常は 1 時間後)、広告を自動的に更新します。
  • キャッシュの最適化: 2 以上のキャッシュサイズを使用する場合、Google Mobile Ads Flutter Plugin キャッシュの順序を最適化して、最適な広告を配信します。

このガイドでは、プリロード広告の設定、プリロード広告の利用可否の確認、プリロードされた広告の表示について説明します。

前提条件

このチュートリアルに進む前に、設定する必要がありますGoogle Mobile Ads Flutter Plugin

広告のプリロードを開始する

アプリの起動時に、start メソッドを 1 回呼び出します。 メソッドを呼び出すと、startGoogle Mobile Ads Flutter Plugin広告を自動的に プリロードし、プリロード構成の失敗したリクエストを再試行します。

次の例では、広告のプリロードを開始します。

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: const PreloadCallback(),
);

_adUnitId は、実際の広告ユニット ID に置き換えてください。

プリロードされた広告を取得して表示する

広告のプリロードを使用すると、Google Mobile Ads Flutter Plugin はキャッシュされた広告を保持します。 広告を表示する場合は、pollAd メソッドを呼び出します。 Google Mobile Ads Flutter Plugin は利用可能な広告を取得し、 次の広告をバックグラウンドで自動的にプリロードします。

広告を表示する準備ができるまで、pollAd メソッドを呼び出さないでください。広告をキャッシュに保持することで、Google Mobile Ads Flutter Plugin は有効期限切れの広告を自動的に更新し、キャッシュの最適化を行うことができます。

次の例では、プリロードされた広告を取得して表示します。

void _pollAndShowAd() async {
  final InterstitialAd? ad = await InterstitialAdPreloader.pollAd(_adUnitId);
  if (ad != null) {
    _interstitialAd = ad;
    ad.fullScreenContentCallback = FullScreenContentCallback(
      onAdImpression: (ad) {
        // Called when an impression occurs on the ad.
        debugPrint('Ad recorded an impression.');
      },
    );
    ad.onPaidEvent = (ad, valueMicros, precision, currencyCode) {
      // Called when an ad is estimated to have earned money.
      debugPrint('Ad paid: $valueMicros $currencyCode.');
    };
    // Show the ad.
    await ad.show();
  }
}

プリロード広告の利用可否を確認する

広告の利用可否を確認するには、次のいずれかを選択します。

プリロードされた広告の利用可否を取得する

次の例では、広告の利用可否を確認します。

void _checkAdAvailability() async {
  final bool isAvailable = await InterstitialAdPreloader.isAdAvailable(
    _adUnitId,
  );
  debugPrint('Is ad available: $isAvailable');
}

プリロードされた広告の利用可否をリッスンする

プリロード イベントに登録すると、広告が正常にプリロードされたとき、プリロードに失敗したとき、広告キャッシュが使い果たされたときに通知を受け取ることができます。

プリロード イベントは分析を目的としています。Preload イベント コールバック内では、次の点に注意してください。

  • start は呼び出さないでください。
  • 広告がすぐに表示される場合を除き、pollAd は呼び出さないでください。

次の例では、広告イベントに登録します。

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: PreloadCallback(
    onAdPreloaded: (preloadId, responseInfo) {
      debugPrint('Ad preloaded for ID: $preloadId');
    },
    onAdFailedToPreload: (preloadId, error) {
      debugPrint('Ad failed to preload for ID: $preloadId. Error: $error');
    },
    onAdsExhausted: (preloadId) {
      debugPrint('All preloaded ads exhausted for ID: $preloadId');
    },
  ),
);

広告のプリロードを停止する

セッションでプリロード ID の広告を再度表示する必要がない場合は、広告のプリロードを停止できます。特定のプリロード ID の広告のプリロードを停止するには、プリロード ID を指定して destroy を呼び出します。すべてのプリローダーのプリロードを停止するには、destroyAll を呼び出します。

void _stopPreloading() async {
  await InterstitialAdPreloader.destroy(_adUnitId);
}

バッファサイズを設定する

バッファサイズは、メモリに保持されるプリロードされた広告の数を制御します。デフォルトでは、Google はバッファサイズを最適化して、メモリ使用量と広告配信のレイテンシのバランスを取ります。次の広告が読み込まれる前にアプリに広告が表示される場合は、カスタム バッファサイズを設定して、メモリに保持される広告の数を増やすことができます。

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(
    adUnitId: _adUnitId,
    bufferSize: 3,
  ),
  callback: const PreloadCallback(),
);

プリロード キャッシュの上限

Google Mobile Ads Flutter Plugin は、プリロードされた広告の合計数にアプリ全体の上限を適用します すべての広告ユニットとプリロード ID

  • デフォルトの上限: Google Mobile Ads Flutter Plugin は、最大 6 つのプリロードされた広告をメモリに保持します。 この上限は、すべてのフォーマットとプリロード ID で共有されます。
  • プリロード ID ごとにバッファサイズを 2 にすることをおすすめします。