ネイティブ広告のオプション

ネイティブ広告には、追加のカスタマイズを可能にし、最適な広告エクスペリエンスを実現するための高度な機能が多数用意されています。このガイドでは、 ネイティブ広告の高度な機能の使い方

前提条件

アセット管理

優先するメディアのアスペクト比のコントロール

メディアのアスペクト比コントロールを使用すると、広告クリエイティブのアスペクト比の設定を指定できます。

NativeAdOptions.MediaAspectRatio 値を指定して NativeAdOptions.Builder.setMediaAspectRatio() を呼び出します。

  • 未設定の場合、返される広告には任意のメディア アスペクト比を指定できます。

  • 設定すると、希望するアスペクト比のタイプを指定してユーザー エクスペリエンスを改善できます。

次の例では、特定のアスペクト比の画像または動画を優先して返すように SDK に指示します。

NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
                              .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
                              .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

画像のダウンロードの管理

画像のダウンロード制御を使用すると、SDK から返される画像アセットと URI のどちらかを指定できます。

boolean 値を指定して NativeAdOptions.Builder.setReturnUrlsForImageAssets() を呼び出します。
  • 画像のダウンロード コントロールはデフォルトで無効になっています。

  • 無効にすると、Google Mobile Ads SDK によって画像と URI の両方が入力されます。

  • 有効にすると、SDK は URI のみを入力するため、実際の画像はご自身の判断でダウンロードできます。

次の例では、URI のみを返すように SDK に指示します。

NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
                                                     .setReturnUrlsForImageAssets(true)
                                                     .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .forNativeAd(nativeAd -> {
                                List<Uri> imageUris = new ArrayList<>();
                                for (Image image : nativeAd.getImages()) {
                                  imageUris.add(image.getUri());
                                }
                              })
                              .build();

画像ペイロードのコントロール

一部の広告には、画像が 1 つだけでなく複数含まれています。この機能を使用して アプリがすべての画像を表示するか、1 つの画像のみを表示するかを示します。

NativeAdOptions.Builder.setRequestMultipleImages() を呼び出す (boolean 値)。
  • 画像ペイロードの制御はデフォルトで無効になっています。

  • 無効にすると、アプリは SDK に対して、 一連の画像を含むアセットの最初の画像

  • 有効にすると、アプリはすべての画像を表示する準備ができたことを示します 必ず指定してください

次の例では、複数の画像アセットを返すように SDK に指示しています。

NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
                                                     .setRequestMultipleImages(true)
                                                     .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

AdChoices プレースメント

AdChoices の位置のコントロール

AdChoices の位置コントロールでは、広告をレンダリングする隅を AdChoices アイコン。

NativeAdOptions.Builder.setAdChoicesPlacement() を呼び出す NativeAdOption.AdChoicesPlacement あります。

  • 設定しない場合、AdChoices アイコンの位置は右上に設定されます。

  • 設定されている場合、AdChoices はリクエストに応じてカスタム ポジションに配置されます。

次の例は、AdChoices のカスタム画像位置を設定する方法を示しています。

NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
                                                     .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
                                                     .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

AdChoices カスタムビュー

AdChoices カスタムビュー機能を使用すると、AdChoices アイコンを できます。これは、AdChoices の位置コントロールとは異なります。 では、4 つの角のうち 1 つを指定できます。

AdChoicesView 値を指定して NativeAdView.setAdChoicesView() を呼び出します。

次の例は、カスタム AdChoices ビューを設定する方法を示しています。 AdChoicesView 内に表示された AdChoices アイコン。


public void onNativeAdLoaded(NativeAd ad) {
    NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
    AdChoicesView adChoicesView = new AdChoicesView(this);
    nativeAdView.setAdChoicesView(adChoicesView);
}

動画をコントロールする

ミュート動作を開始する

ミュート状態で開始する動作では、動画の開始音声を無効または有効にできます。

boolean 値を指定して VideoOptions.Builder.setStartMuted() を呼び出します。
  • ミュート状態で開始する動作はデフォルトで有効になっています。

  • 無効にすると、アプリは動画を音声で開始するようリクエストします。

  • 有効にすると、アプリは音声をミュートした状態で動画の再生を開始するようにリクエストします。

次の例は、音声をミュートせずに動画を開始する方法を示しています。

VideoOptions videoOptions = new VideoOptions.Builder()
                                            .setStartMuted(false)
                                            .build();

NativeAdOptions adOptions = new NativeAdOptions.Builder()
                                               .setVideoOptions(videoOptions)
                                               .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

カスタム再生コントロール

これにより、カスタム動画入力コントロールをリクエストして、コンテンツの再生、一時停止、ミュートを 動画をご覧ください。

VideoOptions.Builder.setCustomControlsRequested() を呼び出す (boolean 値)。
  • カスタム再生コントロールはデフォルトで無効になっています。

  • 無効にすると、動画に SDK レンダリングされた入力コントロールが表示されます。

  • 広告に動画コンテンツが含まれていて、カスタム コントロールが有効になっている場合は、 広告とともにカスタム コントロールが表示されるため、広告は 制御します。これにより、コントロールは VideoController

次の例は、カスタムの再生コントロールを使用して動画をリクエストする方法を示しています。

VideoOptions videoOptions = new VideoOptions.Builder()
                                            .setCustomControlsRequested(true)
                                            .build();

NativeAdOptions adOptions = new NativeAdOptions.Builder()
                                               .setVideoOptions(videoOptions)
                                               .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

カスタム コントロールが有効になっているかどうかを確認する

返された広告で広告が許可されるかどうかをリクエスト時に不明なため 設定するには、カスタム コントロールが有効になっているかどうかを確認する必要があります。

Java

@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
  MediaContent mediaContent = nativeAd.getMediaContent();
  if (mediaContent != null) {
    VideoController videoController = mediaContent.getVideoController();
    boolean canShowCustomControls = videoController.isCustomControlsEnabled();
  }
}

Kotlin

NativeAd.OnNativeAdLoadedListener { ad ->
  val mediaContent = ad.mediaContent
  if (mediaContent != null) {
    val videoController = mediaContent.videoController
    val canShowCustomControls = videoController.isCustomControlsEnabled
  }
}

カスタムの動画コントロールをレンダリングする

次のベスト プラクティスに沿って、カスタム動画コントロールをレンダリングします。

  1. カスタム コントロール ビューをネイティブ広告ビューの子としてレンダリングします。このアプローチにより、オープン測定の視認性計算で、カスタム コントロールが見やすい障害と見なされるようになります。
  2. メディア ビュー全体に不可視のオーバーレイをレンダリングしないようにします。オーバーレイにより、メディアビューでのクリックがブロックされ、ネイティブ広告のパフォーマンスが低下します。代わりに、コントロールに合う大きさの小さなオーバーレイを作成します。

カスタム クリック操作

カスタム クリック操作は、広告ビューでスワイプを広告クリックとして登録できるネイティブ広告機能です。コンテンツのナビゲーションにスワイプ ジェスチャーを使用するアプリで動作するように設計されています。このガイドでは、ネイティブ広告でカスタム クリック ジェスチャーを有効にする方法について説明します。

NativeAdOptions.Builder.enableCustomClickGestureDirection() を呼び出す NativeAdOptions.SwipeGestureDirection boolean で、タップをクリックとして許可するかどうかを指定します。

  • カスタム クリック操作はデフォルトで無効になっています。

  • 無効にすると、アプリは通常のクリック動作をサポートします。

  • 有効にすると、アプリはカスタム スワイプ ジェスチャーをサポートします。

次の例では、右へのカスタム スワイプ ジェスチャーを実装し、タブの通常の動作を維持しています。

NativeAdOptions adOptions = new NativeAdOptions
    .Builder()
    .enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
            /* tapsAllowed= */ true)
    .build();

// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
AdLoader.Builder builder = new AdLoader
    .Builder(this, 'ca-app-pub-3940256099942544/2247696110')
    .withNativeAdOptions(adOptions);

スワイプ操作イベントをリッスンする

スワイプ操作のクリックが記録されると、Google Mobile Ads SDK は 既存のメソッドに加えて、AdListeneronAdSwipeGestureClicked() メソッドを onAdClicked() メソッドを使用します。

AdLoader adLoader = builder
    .withAdListener(
      new AdListener() {
        // Called when a swipe gesture click is recorded.
        @Override
        public void onAdSwipeGestureClicked() {
          Log.d(TAG, "A swipe gesture click has occurred.")
        }

        // Called when a swipe gesture click or a tap click is recorded, as
        // configured in NativeAdOptions.
        @Override
        public void onAdClicked() {
          Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
        }
      })
    .build();

メディエーション

カスタム クリック操作は、Google モバイルのネイティブ広告でのみ機能します Ads SDK がレンダリングします。広告のソース サードパーティの SDK が必要 カスタム クリック方向設定には反応しないことに注意してください。