Erweiterte native Funktionen festlegen

Plattform auswählen: Android iOS Android (Legacy)

Native Anzeigen bieten viele erweiterte Funktionen, mit denen Sie zusätzliche Anpassungen vornehmen und die bestmögliche Nutzerfreundlichkeit von Werbeanzeigen erzielen können. In diesem Leitfaden erfahren Sie, wie Sie die erweiterten Funktionen nativer 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 Medien-Assets angeben und festlegen, wie die Bild-Assets heruntergeladen und angezeigt werden.

Einstellungen für das bevorzugte Seitenverhältnis für Medien

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

Legen Sie GADNativeAdMediaAdLoaderOptions mediaAspectRatio mit einem GADMediaAspectRatio fest.

  • Wenn diese Option nicht festgelegt ist, kann die zurückgegebene Anzeige ein beliebiges Seitenverhältnis haben.

  • Wenn diese Option festgelegt ist, können Sie die Nutzerfreundlichkeit verbessern, indem Sie das bevorzugte Seitenverhältnis angeben.

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

Swift

let nativeOptions = NativeAdMediaAdLoaderOptions()
nativeOptions.mediaAspectRatio = .any

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdMediaAdLoaderOptions *nativeOptions = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOptions.mediaAspectRatio = GADMediaAspectRatioAny;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Ersetzen Sie nativeAdUnitID durch die ID Ihres Anzeigenblocks.

Einstellung für den Bilddownload

Mit der Steuerung des Bilddownloads können Sie festlegen, ob Bild-Assets oder nur URIs vom SDK zurückgegeben werden.

Legen Sie GADNativeAdImageAdLoaderOptions disableImageLoading mit einem BOOL-Wert fest.

  • Die Steuerung des Bilddownloads ist standardmäßig deaktiviert.

  • Wenn diese Option deaktiviert ist, werden sowohl das Bild als auch der URI von Google Mobile Ads SDK ausgefüllt.

  • Wenn diese Option aktiviert ist, füllt das SDK stattdessen nur den URI aus, sodass Sie die eigentlichen Bilder nach eigenem Ermessen herunterladen können.

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

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.isImageLoadingDisabled = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.disableImageLoading = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Einstellungen für die Bild-Payload

Einige Anzeigen enthalten eine Reihe von Bildern statt nur eines. Mit dieser Funktion können Sie angeben, ob Ihre App alle Bilder oder nur eines anzeigen soll.

  • Die Einstellungen für die Bild-Payload sind standardmäßig deaktiviert.

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

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

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

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.shouldRequestMultipleImages = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.shouldRequestMultipleImages = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Platzierung der Datenschutzinfos

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

Einstellungen für die Position des Datenschutzinfo-Symbols

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

Legen Sie GADNativeAdViewAdOptions preferredAdChoicesPosition mit einem GADAdChoicesPosition-Wert fest.

  • Wenn keine Position festgelegt ist, wird das Datenschutzinfo-Symbol oben rechts platziert.

  • Wenn diese Option festgelegt ist, wird das Datenschutzinfo-Symbol wie gewünscht an der benutzerdefinierten Position platziert.

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

Swift

let nativeOptions = NativeAdViewAdOptions()
nativeOptions.preferredAdChoicesPosition = .topRightCorner

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopRightCorner;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Benutzerdefinierte Ansicht für „Datenschutzinfo“

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

Legen Sie das Attribut GADNativeAd.adChoicesView mit einem GADAdChoicesView vor dem Rendering fest. Der Datenschutzinfo-Inhalt wird dann innerhalb des GADAdChoicesView gerendert.

Im folgenden Beispiel wird gezeigt, wie Sie eine benutzerdefinierte Datenschutzinfo-Ansicht festlegen. Das Datenschutzinfo-Symbol wird innerhalb des GADAdChoicesView gerendert:

Swift

private func createAdChoicesView(nativeAdView: NativeAdView) {
  // Define a custom position for the AdChoices icon.
  let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
  let customAdChoicesView = AdChoicesView(frame: customRect)
  nativeAdView.addSubview(customAdChoicesView)
  nativeAdView.adChoicesView = customAdChoicesView
}

Objective-C

- (void)createAdChoicesViewWithNativeAdView:(GADNativeAdView *)nativeAdView {
  // Define a custom position for the AdChoices icon.
  CGRect customRect = CGRectMake(100, 100, 15, 15);
  GADAdChoicesView *customAdChoicesView = [[GADAdChoicesView alloc] initWithFrame:customRect];
  [nativeAdView addSubview:customAdChoicesView];
  nativeAdView.adChoicesView = customAdChoicesView;
}

Videosteuerelemente

In diesem Abschnitt wird beschrieben, wie Sie die Wiedergabe von Videoanzeigen anpassen können. Sie können den anfänglichen Stummschaltungsstatus festlegen und eine benutzerdefinierte Wiedergabesteuerung implementieren.

Ausblendungsverhalten beim Start

Mit der Einstellung „Stummgeschaltet starten“ können Sie festlegen, ob ein Video mit oder ohne Ton gestartet werden soll.

Legen Sie GADVideoOptions startMuted mit einem BOOL-Wert fest.

  • Die Funktion „Stummgeschaltet starten“ ist standardmäßig aktiviert.

  • Wenn diese Option deaktiviert ist, fordert Ihre App an, dass das Video mit Ton beginnt.

  • Wenn diese Option aktiviert ist, wird das Video in Ihrer App standardmäßig ohne Ton gestartet.

Das folgende Beispiel zeigt, wie das Video mit aktiviertem Ton gestartet wird.

Swift

let videoOptions = VideoOptions()
videoOptions.shouldStartMuted = false

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.startMuted = NO;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

Benutzerdefinierte Wiedergabesteuerung

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

Legen Sie GADVideoOptions customControlsRequested mit einem BOOL-Wert fest.

  • Benutzerdefinierte Wiedergabesteuerung ist standardmäßig deaktiviert.

  • Wenn die Option deaktiviert ist, werden in Ihrem Video vom SDK gerenderte Eingabesteuerelemente angezeigt.

Wenn die Anzeige Videoinhalte enthält und benutzerdefinierte Steuerelemente aktiviert sind, sollten Sie diese zusammen mit der Anzeige einblenden, da in der Anzeige selbst keine Steuerelemente zu sehen sind. Die Steuerelemente können dann die relevanten Methoden für die

GADVideoController.

Das folgende Beispiel zeigt, wie ein Video mit benutzerdefinierter Wiedergabesteuerung angefordert wird.

Swift

let videoOptions = VideoOptions()
videoOptions.areCustomControlsRequested = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.customControlsRequested = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

Prüfen, ob benutzerdefinierte Steuerelemente aktiviert sind

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

Swift

private func checkCustomControlsEnabled(nativeAd: NativeAd) -> Bool {
  let videoController = nativeAd.mediaContent.videoController
  return videoController.areCustomControlsEnabled
}

Objective-C

- (BOOL)checkCustomControlsEnabledWithNativeAd:(GADNativeAd *)nativeAd {
  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  return videoController.customControlsEnabled;
}

Benutzerdefinierte Steuerelemente für die Videowiedergabe rendern

Beachten Sie beim Rendern benutzerdefinierter Steuerelemente für die Videowiedergabe die folgenden Best Practices:

  1. Rendern Sie die Ansicht für benutzerdefinierte Steuerelemente als untergeordnetes Element der Ansicht für native Anzeigen. Bei diesem Ansatz werden die benutzerdefinierten Steuerelemente bei der Berechnung der Sichtbarkeit für Open Measurement als zulässige Hindernisse berücksichtigt.
  2. Vermeiden Sie es, ein unsichtbares Overlay über die gesamte Medienansicht zu rendern. Overlays blockieren Klicks auf die Medienansicht, was sich negativ auf die Leistung nativer Anzeigen auswirkt. Erstellen Sie stattdessen ein kleines Overlay, das gerade groß genug für die Steuerelemente ist.

Benutzerdefinierte Klickgesten

Benutzerdefinierte Klickgesten sind eine Funktion für native Anzeigen, mit der Sie Wischbewegungen auf Anzeigenaufrufen als Anzeigenklicks registrieren können. Sie funktioniert mit Apps, die Wischgesten für die Inhaltsnavigation verwenden. In diesem Leitfaden erfahren Sie, wie Sie benutzerdefinierte Klickgesten für Ihre nativen Anzeigen aktivieren.

Initialisieren Sie eine GADNativeAdCustomClickGestureOptions-Instanz mit der ausgewählten Wischrichtung. Außerdem müssen Sie angeben, ob Tippen als Klicken gewertet werden soll.

  • Benutzerdefinierte Klickgesten sind standardmäßig deaktiviert.

  • Wenn die Funktion deaktiviert ist, werden nur Berührungen als Klicks gezählt.

  • Wenn diese Option aktiviert ist, werden Wischgesten als Klicks gezählt. Sie können festlegen, ob Tippen weiterhin als Klicks gezählt werden soll.

Das folgende Beispiel zeigt, wie du eine benutzerdefinierte Wischgeste nach rechts implementierst und das normale Tippverhalten beibehältst.

Swift

let swipeGestureOptions = NativeAdCustomClickGestureOptions(
  swipeGestureDirection: .right,
  tapsAllowed: true)

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [swipeGestureOptions])

Objective-C

GADNativeAdCustomClickGestureOptions *swipeGestureOptions =
    [[GADNativeAdCustomClickGestureOptions alloc]
        initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
                          tapsAllowed:YES];

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ swipeGestureOptions ]];

Auf Wischgestenereignisse warten

Wenn ein Klick per Wischgeste erfasst wird, ruft Google Mobile Ads SDK die Delegatmethode nativeAdDidRecordSwipeGestureClick: für GADNativeAdDelegate auf, zusätzlich zur vorhandenen Delegatmethode nativeAdDidRecordClick:.

Swift

// Called when a swipe gesture click is recorded, as configured in
// NativeAdCustomClickGestureOptions.
func nativeAdDidRecordSwipeGestureClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click has occurred.")
}

// Called when a swipe gesture click or a tap click is recorded.
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click or tap click has occurred.")
}

Objective-C

// Called when a swipe gesture click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click has occurred.");
}

// Called when a swipe gesture click or a tap click is recorded.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click or tap click has occurred.");
}

Vermittlung

Benutzerdefinierte Klickgesten funktionieren nur bei nativen Anzeigen, die vom Google Mobile Ads SDK gerendert werden. Anzeigenquellen, für die SDKs von Drittanbietern zum Rendern erforderlich sind, reagieren nicht auf die Einstellung für benutzerdefinierte Klickrichtungen.