1 つのアプリ起動時広告を読み込む

単一読み込み API を含む SDK。

アプリ起動時広告は、アプリの読み込み画面を収益化することを望むパブリッシャー様を対象とした広告フォーマットです。この広告は、ユーザーがアプリをフォアグラウンドに移動すると表示され、いつでも閉じることができます。

詳しくは、アプリ起動時広告のガイドラインをご覧ください。

このガイドでは、アプリ起動時広告を Android アプリに統合する方法について説明します。

前提条件

GMA Next-Gen SDK を設定します。

必ずテスト広告でテストする

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

テスト広告を読み込むには、Android アプリ起動時広告向けのテスト専用広告ユニット ID を使用します。

ca-app-pub-3940256099942544/9257395921

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

GMA Next-Gen SDK のテスト広告について詳しくは、テスト広告を有効にするをご覧ください。

広告を読み込む

次の例は、単一の広告を読み込む方法を示しています。

Kotlin

// Load ads after you initialize MobileAds.
AppOpenAd.load(
  AdRequest.Builder(adUnitId).build(),
  object : AdLoadCallback<AppOpenAd> {
    override fun onAdLoaded(ad: AppOpenAd) {
      // App open ad loaded.
      appOpenAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      // App open ad failed to load.
      Log.e(TAG, "App open ad failed to load: ${adError.message}")
      appOpenAd = null
    }
  },
)

Java

// Load ads after you initialize MobileAds.
AppOpenAd.load(
    new AdRequest.Builder(adUnitId).build(),
    new AdLoadCallback<AppOpenAd>() {
      @Override
      public void onAdLoaded(AppOpenAd ad) {
        // App open ad loaded.
        appOpenAd = ad;
      }

      @Override
      public void onAdFailedToLoad(LoadAdError adError) {
        // App open ad failed to load.
        Log.e(TAG, "App open ad failed to load: " + adError.getMessage());
        appOpenAd = null;
      }
    });

テストを行う場合は、テスト広告ユニット ID(ca-app-pub-3940256099942544/9257395921)を使用します。

広告を表示する

アプリ起動時広告を表示するには、show メソッドを使用します。

Kotlin

private fun showAd(appOpenAd: AppOpenAd, activity: Activity) {
  // Show the ad.
  appOpenAd.show(activity)
}

Java

private void showAd(AppOpenAd appOpenAd, Activity activity) {
  // Show the ad.
  appOpenAd.show(activity);
}

広告イベントをリッスンする

広告を表示する前に、広告ライフサイクル イベントをリッスンします。

Kotlin

private fun listenToAdEvents() {
  // Listen for ad events.
  val ad = appOpenAd
  if (ad == null) {
    Log.e(TAG, "App open ad is not ready yet.")
    return
  }

  ad.adEventCallback =
    object : AppOpenAdEventCallback {
      override fun onAdShowedFullScreenContent() {
        // App open ad did show.
      }

      override fun onAdDismissedFullScreenContent() {
        // App open ad did dismiss.
        appOpenAd = null
      }

      override fun onAdFailedToShowFullScreenContent(
        fullScreenContentError: FullScreenContentError
      ) {
        // App open ad failed to show.
        Log.e(TAG, "App open ad failed to show: ${fullScreenContentError.message}")
      }

      override fun onAdImpression() {
        // App open ad did record an impression.
      }

      override fun onAdClicked() {
        // App open ad did record a click.
      }
    }
}

Java

private void listenToAdEvents() {
  // Listen for ad events.
  if (appOpenAd == null) {
    Log.e(TAG, "App open ad is not ready yet.");
    return;
  }

  appOpenAd.setAdEventCallback(
      new AppOpenAdEventCallback() {
        @Override
        public void onAdShowedFullScreenContent() {
          // App open ad did show.
        }

        @Override
        public void onAdDismissedFullScreenContent() {
          // App open ad did dismiss.
          appOpenAd = null;
        }

        @Override
        public void onAdFailedToShowFullScreenContent(
            @NonNull FullScreenContentError fullScreenContentError) {
          // App open ad failed to show.
          Log.e(TAG, "App open ad failed to show: " + fullScreenContentError.getMessage());
        }

        @Override
        public void onAdImpression() {
          // App open ad did record an impression.
        }

        @Override
        public void onAdClicked() {
          // App open ad did record a click.
        }
      });
}

コールド スタートと読み込み画面

コールド スタートは、アプリがゼロから起動するときに発生します。たとえば、ユーザーが初めてアプリを開くときや、メモリの強制終了後にアプリを開くときです。コールド スタートでは、直ちに表示することのできる読み込み済みのアプリ起動時広告がありません。

広告リクエストの遅延により、アプリ起動時広告が表示される前にユーザーがアプリを操作する可能性があります。ユーザー エクスペリエンスの低下を防ぐため、コールド スタートでアプリ起動時広告を表示する場合は、アプリのアセットの読み込み中に読み込み画面からのみ表示してください。アセットの読み込みが完了し、広告が読み込まれる前にユーザーがメイン コンテンツに到達した場合は、広告を表示しないでください。

広告の表示中に読み込みが継続されるように、バックグラウンド スレッドでアプリアセットを読み込みます。

ベスト プラクティス

アプリ起動時広告に関するベスト プラクティスは次のとおりです。

  • アプリ起動時広告を初めて表示するのは、ユーザーがアプリを数回起動した後のみにする。
  • アプリ起動時広告は、ユーザーがアプリの読み込みを待っている間のみ表示します。
  • 広告が表示されている間に読み込み画面の読み込みが完了した場合は、広告が閉じられたときのコールバック メソッドで読み込み画面を閉じます。