Optionen für native Anzeigen

Native Anzeigen bieten viele erweiterte Funktionen, mit denen Sie und die Nutzerfreundlichkeit von Werbeanzeigen optimieren. In diesem Leitfaden erfahren Sie, wie Sie die erweiterten Funktionen von nativen Anzeigen verwenden.

Vorbereitung

Asset-Einstellungen

Steuerelemente für das bevorzugte Seitenverhältnis von Medien

Mit den Steuerelementen für das Seitenverhältnis von Medien können Sie eine Einstellung für das Seitenverhältnis von Creatives festlegen.

NativeAdOptions.Builder.setMediaAspectRatio() anrufen mit NativeAdOptions.MediaAspectRatio Wert.

  • Wenn die Richtlinie nicht konfiguriert ist, kann die zurückgegebene Anzeige ein beliebiges Medienseitenverhältnis haben.

  • Wenn dies festgelegt ist, können Sie die Nutzererfahrung verbessern, indem Sie den Parameter das bevorzugte Seitenverhältnis.

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

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();

Bilddownloadsteuerung

Mit der Steuerung für den Bilddownload können Sie festlegen, ob Bild-Assets oder nur URIs die vom SDK zurückgegeben wurden.

NativeAdOptions.Builder.setReturnUrlsForImageAssets() anrufen mit einem boolean-Wert.
  • Die Einstellungen für den Bilddownload sind standardmäßig deaktiviert.

  • Wenn diese Option deaktiviert ist, füllt das Google Mobile Ads SDK sowohl das Bild als auch den URI für Sie aus.

  • Wenn diese Option aktiviert ist, füllt das SDK nur den URI aus, sodass Sie die Bilder selbst zu erstellen.

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

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();

Steuerelemente für die Bildnutzlast

Manche Anzeigen enthalten nicht nur ein, sondern mehrere Bilder. Mit dieser Funktion können Sie angeben, ob Ihre App alle oder nur ein Bild anzeigen kann.

NativeAdOptions.Builder.setRequestMultipleImages() anrufen mit einem boolean-Wert.
  • Die Steuerelemente für die Bildnutzlast sind standardmäßig deaktiviert.

  • Wenn diese Option deaktiviert ist, weist Ihre App das SDK an, nur die erstes Bild für alle Assets, die eine Reihe enthalten.

  • Wenn diese Option aktiviert ist, gibt Ihre App an, dass sie bereit ist, alle Bilder für alle Assets anzuzeigen, die mehr als ein Bild haben.

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

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

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

AdChoices-Placements

Einstellungen für die Position von AdChoices

Mit den Steuerelementen für die Position des Datenschutzinfo-Symbols können Sie auswählen, in welcher Ecke das Symbol eingeblendet werden soll.

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

  • Wenn die Richtlinie nicht konfiguriert ist, wird die Position des Datenschutzinfo-Symbols oben rechts festgelegt.

  • Wenn festgelegt, wird das Datenschutzinfo-Symbol wie angefordert an der benutzerdefinierten Position platziert.

Im folgenden Beispiel sehen Sie, wie eine benutzerdefinierte AdChoices-Bildposition festgelegt wird.

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();

Benutzerdefinierte Ansicht „Datenschutzinfo“

Mit der Funktion für die benutzerdefinierte Ansicht des Datenschutzinfo-Symbols können Sie das Symbol an einer benutzerdefinierten Stelle platzieren. Dies unterscheidet sich von den Steuerelementen für die AdChoices-Position, eine der vier Ecken angeben.

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

Im folgenden Beispiel wird gezeigt, wie eine benutzerdefinierte AdChoices-Ansicht festgelegt wird, bei der das AdChoices-Symbol innerhalb des AdChoicesView gerendert wird.


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

Videosteuerelemente

Verhalten bei Stummschaltung starten

Mit dieser Einstellung kannst du festlegen, ob der Ton eines Videos zu Beginn stummgeschaltet oder aktiviert werden soll.

Rufen Sie VideoOptions.Builder.setStartMuted() mit einem boolean-Wert auf.
  • Das Stummschalten beim Starten ist standardmäßig aktiviert.

  • Wenn diese Option deaktiviert ist, fordert Ihre App das Video an, mit dem Audio.

  • Wenn diese Option aktiviert ist, wird in Ihrer App angefordert, dass das Video stumm gestartet wird.

Im folgenden Beispiel wird gezeigt, wie das Video mit aktiviertem Ton gestartet wird.

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();

Benutzerdefinierte Wiedergabesteuerung

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

VideoOptions.Builder.setCustomControlsRequested() anrufen mit einem boolean-Wert.
  • Die benutzerdefinierte Wiedergabesteuerung ist standardmäßig deaktiviert.

  • Wenn die Funktion deaktiviert ist, werden in deinem Video vom SDK gerenderte Eingabesteuerelemente angezeigt.

  • Wenn die Anzeige über Video-Content verfügt und benutzerdefinierte Steuerelemente aktiviert sind, sollten Sie Dann werden Ihre benutzerdefinierten Steuerelemente zusammen mit der Anzeige eingeblendet, da keine die sich selbst steuern. Die Steuerelemente können dann die relevanten Methoden auf dem VideoController

Im folgenden Beispiel wird gezeigt, wie du ein Video mit benutzerdefinierten Wiedergabesteuerungen anforderst.

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();

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 diese aktiviert sind.

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
  }
}

Benutzerdefinierte Videosteuerelemente rendern

Berücksichtigen Sie beim Rendern von benutzerdefinierten Videosteuerelementen die folgenden Best Practices:

  1. Rendern Sie die Ansicht mit den benutzerdefinierten Steuerelementen als untergeordnete Ansicht der nativen Anzeigenansicht. So wird sichergestellt, dass die benutzerdefinierten Steuerelemente bei der Sichtbarkeitsberechnung mit Open Measurement als freundliches Hindernis betrachtet werden.
  2. Vermeiden Sie das Rendern eines unsichtbaren Overlays über der gesamten Medienansicht. Overlays blockieren Klicks auf die Medienansicht und wirken sich negativ auf die Leistung nativer Anzeigen aus. Erstellen Sie stattdessen ein kleines Overlay, das gerade groß genug ist, um in die Steuerelemente hineinzupassen.

Benutzerdefinierte Klickgesten

Benutzerdefinierte Klickgesten sind eine Funktion für native Anzeigen, mit der Wischaktionen bei Anzeigenaufrufen als Anzeigenklicks erfasst werden können. Sie ist für Apps konzipiert, in denen Wischgesten für die Navigation durch Inhalte verwendet werden. In diesem Leitfaden erfahren Sie, wie Sie benutzerdefinierte Klickgesten in Ihren nativen Anzeigen aktivieren.

NativeAdOptions.Builder.enableCustomClickGestureDirection() anrufen mit NativeAdOptions.SwipeGestureDirection und einen boolean, um anzugeben, ob Tippen als Klicks zugelassen werden soll.

  • Benutzerdefinierte Klickgesten sind standardmäßig deaktiviert.

  • Wenn diese Option deaktiviert ist, unterstützt deine App das normale Klickverhalten.

  • Wenn diese Option aktiviert ist, unterstützt Ihre App benutzerdefinierte Wischgesten.

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

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);

Auf Wisch-Ereignisse warten

Wenn ein Wisch-Klick erfasst wird, ruft das Google Mobile Ads SDK zusätzlich zur vorhandenen Methode onAdClicked() die Methode onAdSwipeGestureClicked() auf AdListener auf.

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();

Vermittlung

Benutzerdefinierte Klickgesten funktionieren nur bei nativen Anzeigen, die mit dem Google Mobile Ads SDK gerendert werden. Bei Anzeigenquellen, für die zum Rendern SDKs von Drittanbietern erforderlich sind, wird die Einstellung für benutzerdefinierte Klickanweisungen nicht berücksichtigt.