インタースティシャル

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

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

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

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

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

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

広告を読み込む

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

InterstitialAd.load(
  adUnitId: '<ad unit id>',
  request: AdRequest(),
  adLoadCallback: InterstitialAdLoadCallback(
    onAdLoaded: (InterstitialAd ad) {
      // Keep a reference to the ad so you can show it later.
      this._interstitialAd = ad;
    },
    onAdFailedToLoad: (LoadAdError error) {
      print('InterstitialAd failed to load: $error');
    },
  ));

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

FullScreenContentCallback を使用すると、広告が表示されたときや非表示にされたときなどのライフサイクル イベントをリッスンできます。これらのイベントの通知を受け取るには、広告を表示する前に InterstitialAd.fullScreenContentCallback を設定します。以下のサンプルでは、各メソッドを実装して、コンソールにログとしてメッセージを出力しています。

interstitialAd.fullScreenContentCallback = FullScreenContentCallback(
  onAdShowedFullScreenContent: (InterstitialAd ad) =>
     print('%ad onAdShowedFullScreenContent.'),
  onAdDismissedFullScreenContent: (InterstitialAd ad) {
    print('$ad onAdDismissedFullScreenContent.');
    ad.dispose();
  },
  onAdFailedToShowFullScreenContent: (InterstitialAd ad, AdError error) {
    print('$ad onAdFailedToShowFullScreenContent: $error');
    ad.dispose();
  },
  onAdImpression: (InterstitialAd ad) => print('$ad impression occurred.'),
);

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

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

myInterstitial.show();

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

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

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

次のステップ