インタースティシャル

プラットフォームを選択: Android iOS Unity Flutter

インタースティシャル広告は、ホストアプリのインターフェース上に全画面表示される広告です。通常は、次のアクティビティに移行する前や、ゲームレベルをクリアした後の合間など、アプリの操作中に画面が切り替わるタイミングで表示されます。アプリにインタースティシャル広告が表示されると、ユーザーは広告をタップしてリンク先 URL に移動するか、広告を閉じてアプリに戻るかを選択することになります。

このガイドでは、インタースティシャル広告を Flutter アプリに組み込む方法について説明します。

常にテスト広告でテストする

アプリの開発とテストでは必ずテスト広告を使用し、配信中の実際の広告は使用しないでください。実際の広告でテストすると、アカウントが停止される場合があります。

テスト広告を読み込む際は、次に示すインタースティシャル向けのテスト専用広告ユニット ID を使うと便利です。

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

テスト広告ユニットはすべてのリクエストに対してテスト広告を返す特別な広告ユニットで、アプリのコーディング、テスト、デバッグで自由に使うことができます。なお、この広告ユニットの ID は、アプリを公開する前に必ずご自身の広告ユニット ID に置き換えてください。

広告を読み込む

次のサンプルでは、インタースティシャル広告を読み込んでいます。

InterstitialAd.load(
  adUnitId: "_adUnitId",
  request: const AdRequest(),
  adLoadCallback: InterstitialAdLoadCallback(
    onAdLoaded: (InterstitialAd ad) {
      // Called when an ad is successfully received.
      debugPrint('Ad was loaded.');
      // Keep a reference to the ad so you can show it later.
      _interstitialAd = ad;
    },
    onAdFailedToLoad: (LoadAdError error) {
      // Called when an ad request failed.
      debugPrint('Ad failed to load with error: $error');
    },
  ),
);

_adUnitId は、実際の広告ユニット ID に置き換えられます。

インタースティシャル広告イベント

FullScreenContentCallback を使用すると、広告が表示されたときや非表示にされたときなどのライフサイクル イベントをリッスンできます。これらのイベントの通知を受け取るには、広告を表示する前に InterstitialAd.fullScreenContentCallback を設定します。各メソッドの実装例を次に示します。

ad.fullScreenContentCallback = FullScreenContentCallback(
  onAdShowedFullScreenContent: (ad) {
    // Called when the ad showed the full screen content.
    debugPrint('Ad showed full screen content.');
  },
  onAdFailedToShowFullScreenContent: (ad, err) {
    // Called when the ad failed to show full screen content.
    debugPrint('Ad failed to show full screen content with error: $err');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdDismissedFullScreenContent: (ad) {
    // Called when the ad dismissed full screen content.
    debugPrint('Ad was dismissed.');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdImpression: (ad) {
    // Called when an impression occurs on the ad.
    debugPrint('Ad recorded an impression.');
  },
  onAdClicked: (ad) {
    // Called when a click is recorded for an ad.
    debugPrint('Ad was clicked.');
  },
);

インタースティシャル広告を表示する

InterstitialAd はすべてのアプリ コンテンツ上に Overlay として表示され、静的に配置されます。そのため、Flutter ウィジェット ツリーに追加することはできません。広告を表示するタイミングを選択するには、show() を呼び出します。

_interstitialAd?.show();

show() が呼び出されると、この方法で表示された Ad をプログラムで非表示にすることはできないため、ユーザー入力が必要になります。InterstitialAd は 1 度しか表示できません。後続の表示の呼び出しで onAdFailedToShowFullScreenContent がトリガーされます。

アクセスが不要になった広告は破棄する必要があります。dispose() を呼び出すおすすめのタイミングは、FullScreenContentCallback.onAdDismissedFullScreenContent および FullScreenContentCallback.onAdFailedToShowFullScreenContent のコールバック時です。

このガイドの説明は以上です。これで、アプリにインタースティシャル広告を表示できるようになりました。

次のステップ

GitHub のサンプルコードの全文

インタースティシャル