ネイティブ広告

ネイティブ広告は、広告の管理画面で表示される UI コンポーネントを通じて表示される広告アセットです。 ネイティブに実装されていますストーリーボードですでに使用しているものと同じクラスを使って表示され、アプリの視覚デザインに合わせて形式を調整することもできます。

ネイティブ広告が読み込まれると、アプリはその広告のアセットを含む広告オブジェクトを受け取ります。 Google Mobile Ads SDK ではなく 表示を担います

ネイティブ広告の実装は、大まかには、SDK を使って広告を読み込み、アプリにその広告コンテンツを表示するという 2 つの段階に分けられます。

このページでは、SDK を使用して読み込む方法について説明します。 ネイティブ広告

前提条件

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

アプリを作成、テストする際は、テスト広告ではなく、 配信します。

テスト広告を読み込むには、専用のテスト広告ユニット ID を使用すると、 iOS 向けのネイティブ広告:

/21775744923/example/native

この ID は、すべてのリクエストに対してテスト広告を返すように構成されており、アプリのコーディング、テスト、デバッグで自由に使うことができます。必ず これを実際の広告ユニット ID に置き換えてから、アプリを公開してください。

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

広告を読み込む

ネイティブ広告は GADAdLoader クラスで委任されたメッセージに従って、代理人にメッセージを送信します。 GADAdLoaderDelegate 構成されます。

システム定義のネイティブ広告フォーマットに加えて、直接販売のネイティブ広告に使用できる独自のカスタム ネイティブ広告フォーマットを作成することもできます。カスタムのネイティブ広告フォーマットでは アプリに任意の構造化データを渡すことです。これらの広告は GADCustomNativeAd クラス。

広告ローダを初期化する

広告を読み込むには、広告ローダを初期化する必要があります。 次のコードは、GADAdLoader を初期化する方法を示しています。

Swift

adLoader = GADAdLoader(adUnitID: "/21775744923/example/native",
    // The UIViewController parameter is optional.
    rootViewController: rootViewController,
    adTypes: [ .native ],
    options: [ ... ad loader options objects ... ])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native"
    // The UIViewController parameter is nullable.
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative ]
               options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;

広告ユニット ID(テスト ID を使用できます)と、 adTypes 配列と、リクエストするネイティブ フォーマットを指定します。 options パラメータに設定します。リストには、 options パラメータの値については、ネイティブ広告の設定に関するページ オプション ページ

adTypes 配列には、次の定数を 1 つ以上含める必要があります :

広告ローダのデリゲートを実装する

広告ローダのデリゲートは、広告タイプに固有のプロトコルを実装する必要があります。 ネイティブ広告の場合、GADNativeAdLoaderDelegate プロトコルにメッセージが含まれます。 ネイティブ広告の読み込み時にデリゲートに送信される要素です。

Swift

public func adLoader(_ adLoader: GADAdLoader,
            didReceive nativeAd: GADNativeAd)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveNativeAd:(GADNativeAd *)nativeAd;

GADCustomNativeAdLoaderDelegate プロトコルには、 カスタム テンプレート広告が読み込まれたときのデリゲート。

Swift

func adLoader(_ adLoader: GADAdLoader,
  Receive customNativeAd: GADCustomNativeAd)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;

広告をリクエスト

GADAdLoader を初期化したら、その loadRequest: メソッドを呼び出して広告をリクエストします。

Swift

adLoader.load(GAMRequest())

Objective-C

[self.adLoader loadRequest:[GAMRequest request]];

loadRequest: メソッドを GADAdLoader 同じ GAMRequest バナーやインタースティシャルのオブジェクトですリクエスト オブジェクトは、 ターゲティング情報を入力します。 他の広告タイプと同じ効果を持たせることができます

読み込みが完了したタイミングを確認する

アプリが loadRequest: を呼び出した後に、次のコマンドを使用してリクエストの結果を取得できます。 呼び出します。

1 つの広告に対するリクエストによって、これらのメソッドのいずれかが 1 回呼び出されます。

失敗したリクエストの処理

上記のプロトコルは、GADAdLoaderDelegate プロトコルを拡張するものです。 広告の読み込みに失敗したときに送信されるメッセージです。

Swift

public func adLoader(_ adLoader: GADAdLoader,
    didFailToReceiveAdWithError error: NSError)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didFailToReceiveAdWithError:(NSError *)error;

ネイティブ広告イベントの通知を受け取る

ネイティブ広告の操作に関連するイベントの通知を受け取るには、デリゲートを設定します。 プロパティを指定します。

Swift

nativeAd.delegate = self

Objective-C

nativeAd.delegate = self;

次に GADNativeAdDelegate 次の委任呼び出しを受ける必要があります。

Swift

func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) {
  // The native ad was shown.
}

func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) {
  // The native ad was clicked on.
}

func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) {
  // The native ad will present a full screen view.
}

func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) {
  // The native ad will dismiss a full screen view.
}

func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) {
  // The native ad did dismiss a full screen view.
}

func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) {
  // The native ad will cause the app to become inactive and
  // open a new app.
}

Objective-C

- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
  // The native ad was shown.
}

- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  // The native ad was clicked on.
}

- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
  // The native ad will present a full screen view.
}

- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
  // The native ad will dismiss a full screen view.
}

- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
  // The native ad did dismiss a full screen view.
}

- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
  // The native ad will cause the app to become inactive and
  // open a new app.
}

ベスト プラクティス

広告を読み込む際は以下のルールを守ってください。

  • リスト内のネイティブ広告を使用するアプリでは、広告のリストを事前キャッシュに保存する必要があります。

  • 広告を事前キャッシュする場合は、キャッシュをクリアして、1 時間後に再読み込みしてください。

  • 前のリクエストまで GADAdLoaderloadRequest: を再度呼び出さないでください 読み込みが終了したとき。adLoaderDidFinishLoading: で示されます。

広告を表示する

広告を読み込んだら、あとはユーザーに表示するだけです。 方法はネイティブ アドバンスに関するガイドでご確認ください。