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

<ph type="x-smartling-placeholder">


インタースティシャル広告は、それまでアプリのインターフェース上に全画面表示される広告です。 終了です。通常は画面の切り替え時に アプリのフロー(アクティビティとアクティビティ間の一時停止時など) 獲得できます。アプリにインタースティシャル広告が表示されるとき、ユーザーはどちらかを選択できます 広告をタップしてリンク先に移動するか、広告を閉じて戻ります。 クリックします。 事例紹介

このガイドでは、インタースティシャル広告を Android アプリや iOS アプリに組み込む方法について説明します Google Mobile Ads C++ SDK を使用します

前提条件

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

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

テスト広告を読み込むには、専用のテスト広告ユニット ID を使用すると、 インタースティシャルは デバイスプラットフォームによって異なります

  • Android: ca-app-pub-3940256099942544/1033173712
  • iOS: ca-app-pub-3940256099942544/4411468910

すべてのリクエストに対してテスト広告を返すように特別に構成されており、 独自のアプリでコーディング、テスト、デバッグを行う際に、自由に使用できます。 必ずご自身の広告ユニット ID に置き換えてください。 。

Mobile Ads SDK のテスト広告の仕組みについて詳しくは、 テスト広告

実装

インタースティシャル広告を実装する主な手順は次のとおりです。

  1. 広告を読み込みます。
  2. コールバックを登録します。
  3. 広告を表示し、そのライフサイクル イベントを処理します。

InterstitialAd を構成する

インタースティシャル広告は InterstitialAd オブジェクトに表示されるので、最初のステップは アプリにインタースティシャル広告を組み込むには、 InterstitialAd オブジェクト。

  1. アプリの C++ コードに次のヘッダーを追加します。

     #include "firebase/gma/interstial_ad.h"
    

  2. InterstitialAd オブジェクトを宣言してインスタンス化します。

     firebase::gma::InterstitialAd* interstitial_ad;
     interstitial_ad = new firebase::gma::InterstitialAd();
    

  3. 親ビューを VM にキャストして InterstitialAd インスタンスを初期化します。 AdParent 型。親ビューは、Android への JNI jobject 参照です。 Activity、または iOS の UIView へのポインタ。

    // my_ad_parent is a jobject reference to an Android Activity or
    // a pointer to an iOS UIView.
    firebase::gma::AdParent ad_parent =
      static_cast<firebase::gma::AdParent>(my_ad_parent);
    firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
    
  4. Future を変数として保持する代わりに、 初期化オペレーションのステータスを確認するには、 InterstitialAd オブジェクトに対する InitializeLastResult()。役立つ可能性があります を使用して、グローバル ゲームループの初期化プロセスを追跡します。

    // Monitor the status of the future in your game loop:
    firebase::Future<void> result = interstitial_ad->InitializeLastResult();
    if (result.status() == firebase::kFutureStatusComplete) {
      // Initialization completed.
      if(future.error() == firebase::gma::kAdErrorCodeNone) {
        // Initialization successful.
      } else {
        // An error has occurred.
      }
    } else {
      // Initialization on-going.
    }
    

firebase::Future の使用について詳しくは、以下をご覧ください。 Future を使用してメソッドの完了ステータスをモニタリングする 呼び出し

広告を読み込む

広告を読み込むには、LoadAd() InterstitialAd オブジェクト。読み込みメソッドでは、 InterstitialAd オブジェクトであり、広告ユニット ID と AdRequest があることを確認します。 渡されます。firebase::Future が返されます。これを使用して状態をモニタリングできます。 結果を出力できます

次のコードは、InterstitialAd が完了した後に広告を読み込む方法を示しています。 正常に初期化されました:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);

コールバックに登録する

メッセージを受け取るためには、FullScreenContentListener クラスを拡張する必要があります。 インタースティシャル広告の表示やライフサイクル イベントの通知を通知できます。カスタム FullScreenContentListener サブクラスは、 InterstitialAd::SetFullScreenContentListener() メソッドを呼び出し、 広告が成功または失敗した場合のコールバックと 破棄されます。

次のコードは、クラスを拡張して広告に割り当てる方法を示しています。

  class ExampleFullScreenContentListener
      : public firebase::gma::FullScreenContentListener {

   public:
    ExampleFullScreenContentListener() {}

    void OnAdClicked() override {
      // This method is invoked when the user clicks the ad.
    }

    void OnAdDismissedFullScreenContent() override {
     // This method is invoked when the ad dismisses full screen content.
    }

    void OnAdFailedToShowFullScreenContent(const AdError& error) override {
      // This method is invoked when the ad failed to show full screen content.
      // Details about the error are contained within the AdError parameter.
    }

    void OnAdImpression() override {
      // This method is invoked when an impression is recorded for an ad.
    }

    void OnAdShowedFullScreenContent() override {
      // This method is invoked when the ad showed its full screen content.
    }
  };

  ExampleFullScreenContentListener* full_screen_content_listener =
    new ExampleFullScreenContentListener();
  interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);

InterstitialAd は使い捨てオブジェクトです。つまりインタースティシャルが 再表示することはできません。別のコンテナを読み込み、 OnAdDismissedFullScreenContent() メソッドで FullScreenContentListener にすると、次のインタースティシャル広告の読み込みが すぐに結果が表示されます

広告を表示する

インタースティシャルは、アプリの操作が一時停止する自然なタイミングで表示する必要があります。 ゲームのレベルが切り替わる合間やユーザーがタスクを完了した後などが良い例です。 FullScreenContentListener を使用すると、広告がいつ表示されたかを判断できます。 全画面表示されたコンテンツを表示する場合、Show() によって返される Future もシグナルを 広告が正常に表示されたとき

  firebase::Future<void> result = interstitial_ad->Show();

ベスト プラクティス

インタースティシャル広告がアプリに適した広告タイプかどうかを検討します。
インタースティシャル広告は、画面の切り替わりがあるアプリで最適に機能します。「 画像の共有やゲームの完了など、アプリ内のタスクの終了 そのようなポイントが生まれます。ユーザーが休憩を期待しているため ユーザーの操作を妨げずにインタースティシャル広告を 体験できますアプリのワークフローのどの時点で ユーザーの反応を予測します。
インタースティシャル広告を表示する際はアクションを一時停止してください。
インタースティシャル広告にはさまざまなタイプ(テキスト、イメージ、 使用できます。アプリの画面にコードを表示する際は、 リソースの使用を中断して広告が 活用してください。たとえば、スペースを表示するための呼び出しを行うと、 アプリからの音声出力は、必ず一時停止してください。 音声の再生を再開するには、次の OnAdDismissedFullScreenContent メソッドを実行します。 インストールされている FullScreenContentListener: ユーザーが ユーザーが広告の操作を終了したことを示します。また、サービスを一時的に停止することや、 広告の再生中に負荷の高い計算タスク(ゲームループなど)を 表示されます。これにより、処理が遅くなったり、 グラフィックが反応しない、動画が途切れる。
読み込み時間は十分に確保してください。
インタースティシャル広告は一定の間隔で表示することが ユーザーが待たなくていいようにすることも 読み込みます。表示する前に広告を読み込むと、 アプリの表示が切り替わる際に インタースティシャル広告が完全に読み込まれていることを ディスプレイの 1 つです。
大量の広告をユーザーに表示することは避けてください。
アプリでインタースティシャル広告の表示頻度を増やすと、 ユーザーエクスペリエンスの低下にも つながります クリック率の低下につながりますユーザーがそれほど頻繁にアクセスしないようにします。 中断されることがなくなります。
インタースティシャルの表示に読み込み完了 Future を使用しないでください。
ユーザー エクスペリエンスが低下する可能性があります。広告の読み込み前に広告が 表示されます。

参考情報

GitHub の例

Mobile Ads Garage の動画チュートリアル

成功事例

次のステップ