Erweiterte native Funktionen festlegen

Plattform auswählen: Android (Beta) Neu ausgewählt Android iOS

Native Anzeigen bieten viele erweiterte Funktionen, mit denen Sie zusätzliche Anpassungen vornehmen und die bestmögliche Anzeigenleistung erzielen können. In diesem Leitfaden erfahren Sie, wie Sie die erweiterten Funktionen von nativen Anzeigen verwenden.

Vorbereitung

Asset-Einstellungen

In diesem Abschnitt wird beschrieben, wie Sie die Creative-Assets in Ihren nativen Anzeigen anpassen. Sie können ein bevorzugtes Seitenverhältnis für Media-Assets festlegen und angeben, wie Bild-Assets heruntergeladen und angezeigt werden.

Einstellungen für das bevorzugte Seitenverhältnis von Media-Assets

Mit den Einstellungen für das Seitenverhältnis von Media-Assets können Sie ein bevorzugtes Seitenverhältnis für Anzeigen-Creatives festlegen.

Rufen Sie NativeAdRequest.Builder.setMediaAspectRatio() mit einem NativeAd.NativeMediaAspectRatio -Wert auf.

  • Wenn die Einstellung nicht festgelegt ist, kann die zurückgegebene Anzeige ein beliebiges Seitenverhältnis für Media-Assets haben.

  • Wenn die Einstellung festgelegt ist, können Sie die Nutzerfreundlichkeit verbessern, indem Sie den bevorzugten Typ des Seitenverhältnisses angeben.

Im folgenden Beispiel wird das SDK angewiesen, ein Bild oder Video mit einem bestimmten Seitenverhältnis zurückzugeben.

Kotlin

val adRequest = NativeAdRequest.Builder(
  "/21775744923/example/native",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
  .build()

Java

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
  .build();

Einstellungen für den Bild-Download

Mit den Einstellungen für den Bild-Download können Sie festlegen, ob das SDK Bild-Assets oder nur URIs zurückgeben soll.

Rufen Sie NativeAdRequest.Builder.disableImageDownloading() auf.

  • Die Einstellungen für den Bild-Download sind standardmäßig deaktiviert.

  • Wenn die Einstellung deaktiviert ist, füllt GMA Next-Gen SDK sowohl das Bild als auch den URI für Sie aus.

  • Wenn die Einstellung aktiviert ist, füllt das SDK stattdessen nur den URI aus, sodass Sie die tatsächlichen Bilder nach Belieben herunterladen können.

Im folgenden Beispiel wird das SDK angewiesen, nur den URI zurückzugeben.

Kotlin

val adRequest = NativeAdRequest.Builder(
    "/21775744923/example/native",
    listOf(NativeAd.NativeAdType.NATIVE))
    .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .disableImageDownloading()
    .build()

val adCallback: NativeAdLoaderCallback =
  object : NativeAdLoaderCallback {
    override fun onNativeAdLoaded(nativeAd: NativeAd) {
      // Get the image uri.
      val imageUri = nativeAd.image?.uri
    }
  };

// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);

Java

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  List.of(NativeAd.NativeAdType.NATIVE))
  .disableImageDownloading()
  .build();

NativeAdLoaderCallback adLoaderCallback =
  new NativeAdLoaderCallback() {
    @Override
    public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
      // Get the image uri.
      Uri imageUri = nativeAd.getImage().getUri();
    }
  };

// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);

Einstellungen für die Bildnutzlast

Einige Anzeigen enthalten eine Reihe von Bildern und nicht nur ein einzelnes. Mit dieser Funktion können Sie angeben, ob Ihre App alle Bilder oder nur ein einzelnes anzeigen kann.

  • Die Einstellungen für die Bildnutzlast sind standardmäßig deaktiviert.

  • Wenn die Einstellung deaktiviert ist, weist Ihre App das SDK an, nur das erste Bild für alle Assets bereitzustellen, die eine Reihe von Bildern enthalten.

  • Wenn die Einstellung aktiviert ist, gibt Ihre App an, dass sie alle Bilder für alle Assets anzeigen kann, die mehr als ein Bild enthalten.

Im folgenden Beispiel wird das SDK angewiesen, mehrere Bild-Assets zurückzugeben.

Platzierungen für Datenschutzinfos

In diesem Abschnitt wird beschrieben, wie Sie das Datenschutzinfo-Overlay positionieren. Sie können die Platzierung in einer der vier Ecken festlegen oder es in einer benutzerdefinierten Ansicht rendern.

Einstellungen für die Position der Datenschutzinfos

Mit den Einstellungen für die Position der AdChoices können Sie auswählen, in welcher Ecke das Datenschutzinfo-Symbol gerendert werden soll.

Rufen Sie NativeAdRequest.Builder.setAdChoicesPlacement() mit einem NativeAdRequest.AdChoicesPlacement -Wert auf.

  • Wenn die Einstellung nicht festgelegt ist, wird die Position des Datenschutzinfo-Symbols auf „Rechts oben“ gesetzt.

  • Wenn die Einstellung festgelegt ist, werden die Datenschutzinfos an der benutzerdefinierten Position platziert.

Im folgenden Beispiel wird gezeigt, wie Sie eine benutzerdefinierte Position für das Datenschutzinfo-Symbol festlegen.

Kotlin

val adRequest = NativeAdRequest.Builder(
  "/21775744923/example/native",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
  .build()

Java

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
  .build();

Benutzerdefinierte Ansicht für Datenschutzinfos

Mit der Funktion für die benutzerdefinierte Ansicht für Datenschutzinfos können Sie das Datenschutzinfo-Symbol an einer benutzerdefinierten Position platzieren. Dies unterscheidet sich von den Einstellungen für die Position der Datenschutzinfos, bei denen nur eine der vier Ecken angegeben werden kann.

Rufen Sie NativeAdView.setAdChoicesView() mit einem AdChoicesView-Wert auf.

Im folgenden Beispiel wird gezeigt, wie Sie eine benutzerdefinierte Ansicht für Datenschutzinfos festlegen, wobei das Datenschutzinfo-Symbol in AdChoicesView gerendert wird.

Kotlin

override fun onNativeAdLoaded(nativeAd: NativeAd) {
  val nativeAdView = NativeAdView(applicationContext)
  val adChoicesView = AdChoicesView(this)
  nativeAdView.adChoicesView = adChoicesView
}

Java

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

Videosteuerelemente

In diesem Abschnitt wird beschrieben, wie Sie die Wiedergabe von Videoanzeigen anpassen. Sie können den anfänglichen Stumm-Status festlegen und benutzerdefinierte Wiedergabesteuerelemente implementieren.

Verhalten beim Starten mit Stummschaltung

Mit dem Verhalten beim Starten mit Stummschaltung können Sie die Audioausgabe beim Starten eines Videos deaktivieren oder aktivieren.

Rufen Sie VideoOptions.Builder.setStartMuted() mit einem boolean Wert auf und rufen Sie NativeAdOptions.Builder.setVideoOptions() auf.

  • Das Verhalten beim Starten mit Stummschaltung ist standardmäßig aktiviert.

  • Wenn die Einstellung deaktiviert ist, fordert Ihre App an, dass das Video mit Audioausgabe gestartet wird.

  • Wenn die Einstellung aktiviert ist, fordert Ihre App an, dass das Video mit stummgeschalteter Audioausgabe gestartet wird.

Im folgenden Beispiel wird gezeigt, wie das Video mit nicht stummgeschalteter Audioausgabe gestartet wird.

Kotlin

val videoOptions = VideoOptions.Builder()
  .setStartMuted(false)
  .build()

val adRequest = NativeAdRequest.Builder(
  "/21775744923/example/native",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

Java

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

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

Benutzerdefinierte Wiedergabesteuerelemente

So können Sie benutzerdefinierte Steuerelemente für die Videoeingabe anfordern, um das Video abzuspielen, anzuhalten oder stummzuschalten.

Rufen Sie VideoOptions.Builder.setCustomControlsRequested() auf, um den anfänglichen Stumm-Status der Anzeigen festzulegen.

  • Benutzerdefinierte Wiedergabesteuerelemente sind standardmäßig deaktiviert.

  • Wenn die Einstellung deaktiviert ist, werden in Ihrem Video vom SDK gerenderte Steuerelemente für die Eingabe angezeigt.

Wenn die Anzeige Videoinhalte enthält und benutzerdefinierte Steuerelemente aktiviert sind, sollten Sie Ihre benutzerdefinierten Steuerelemente zusammen mit der Anzeige präsentieren, da die Anzeige selbst keine Steuerelemente enthält. Die Steuerelemente können dann die entsprechenden Methoden in

VideoOptions.Builder.setCustomControlsRequested()aufrufen.

Im folgenden Beispiel wird gezeigt, wie Sie ein Video mit benutzerdefinierten Wiedergabesteuerelementen anfordern.

Kotlin

val videoOptions: VideoOptions.Builder()
  .setCustomControlsRequested(true)
  .build()

val adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

Java

VideoOptions VideoOptions = VideoOptions.Builder()
  .setCustomControlsRequested(true)
  .build()

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

Prüfen, ob benutzerdefinierte Steuerelemente aktiviert sind

Da zum Zeitpunkt der Anfrage nicht bekannt ist, ob die zurückgegebene Anzeige benutzerdefinierte Videosteuerelemente zulässt, müssen Sie prüfen, ob benutzerdefinierte Steuerelemente aktiviert sind.

Kotlin

  val adCallback: NativeAdLoaderCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        val mediaContent = nativeAd.mediaContent;
        if (mediaContent != null) {
          val videoController = mediaContent.videoController;
          val canShowCustomControls = videoController?.isCustomControlsEnabled();
        }
      }
    };

Java

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

Benutzerdefinierte Videosteuerelemente rendern

Rendern Sie benutzerdefinierte Videosteuerelemente gemäß den folgenden Best Practices:

  1. Rendern Sie die benutzerdefinierte Steuerelementansicht als untergeordnetes Element der nativen Anzeigenansicht. So können bei der Berechnung der Sichtbarkeit mit Open Measurement die benutzerdefinierten Steuerelemente als freundliche Behinderung berücksichtigt werden.
  2. Vermeiden Sie es, ein unsichtbares Overlay über die gesamte Media-Ansicht zu rendern. Overlays blockieren Klicks auf die Media-Ansicht und wirken sich negativ auf die Leistung nativer Anzeigen aus. Erstellen Sie stattdessen ein kleines Overlay, das gerade groß genug ist, um die Steuerelemente aufzunehmen.

Benutzerdefinierte Klickgesten

Benutzerdefinierte Klickgesten sind eine Funktion für native Anzeigen, mit der Wischbewegungen in Anzeigenansichten als Anzeigenklicks registriert werden können. Sie ist für Apps konzipiert, die Wischgesten für die Inhaltsnavigation verwenden. In diesem Leitfaden erfahren Sie, wie Sie benutzerdefinierte Klickgesten für Ihre nativen Anzeigen aktivieren.

Rufen Sie NativeAdRequest.Builder.enableCustomClickGestureDirection() mit einem NativeAd.SwipeGestureDirection und einem boolean Wert auf.

Im folgenden Beispiel wird eine benutzerdefinierte Wischgeste nach rechts implementiert und das normale Tab-Verhalten beibehalten.

  • Benutzerdefinierte Klickgesten sind standardmäßig deaktiviert.

  • Wenn die Einstellung deaktiviert ist, unterstützt Ihre App das normale Klickverhalten.

  • Wenn die Einstellung aktiviert ist, unterstützt Ihre App benutzerdefinierte Wischgesten.

Im folgenden Beispiel wird eine benutzerdefinierte Wischgeste nach rechts implementiert und das normale Tab-Verhalten beibehalten.

Kotlin

val adOptions = NativeAdOptions
  .Builder()
  .enableCustomClickGestureDirection(
    /* swipeDirection */ 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.
val adRequest = NativeAdRequest.Builder(
  "/21775744923/example/native",
  listOf(NativeAd.NativeAdType.NATIVE))
  .withNativeAdOptions(adOptions)
  .build();

Java

NativeAdOptions adOptions = new NativeAdOptions
  .Builder()
  .enableCustomClickGestureDirection(
    /* swipeDirection */ 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.
NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  List.of(NativeAd.NativeAdType.NATIVE))
  .withNativeAdOptions(adOptions)
  .build();

Auf Wischgestenereignisse warten

Rufen Sie NativeAd.setAdEventCallback() mit einem NativeAdEventCallback auf und implementieren Sie die Methode onAdSwipeGestureClicked(), um auf Wischgestenereignisse zu warten.

Kotlin

  val adCallback: NativeAdLoaderCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        // Implement the onAdSwipeGestureClicked() method.
        val nativeAdCallback: NativeAdEventCallback = object : NativeAdEventCallback {
          override fun onAdSwipeGestureClicked() {
            // A swipe gesture click has occurred.
          }
        }
      }
    }
  // Load the native ad with the ad request and callback.
  NativeAdLoader.load(adRequest, adCallback)

Java

  NativeAdLoaderCallback adCallback =
    new NativeAdLoaderCallback() {
      @Override
      public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
        // Implement the onAdSwipeGestureClicked() method.
        NativeAdEventCallback nativeAdCallback = new NativeAdEventCallback() {
          @Override
          public void onAdSwipeGestureClicked() {
            // A swipe gesture click has occurred.
          }
        };
      }
    };
  // Load the native ad with the ad request and callback.
  NativeAdLoader.load(adRequest, adCallback);

Vermittlung

Benutzerdefinierte Klickgesten funktionieren nur bei nativen Anzeigen, die mit dem Google Mobile Ads SDK gerendert werden. Anzeigenquellen, für die Drittanbieter-SDKs für das Rendering erforderlich sind, reagieren nicht auf die Einstellung für benutzerdefinierte Klickrichtungen.