Optionen für native Anzeigen

Native Anzeigen bieten viele erweiterte Funktionen, mit denen Sie zusätzliche Anpassungen vornehmen und die Nutzerfreundlichkeit optimieren können. 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.

Legen Sie GADNativeAdMediaAdLoaderOptions mediaAspectRatio mit einem GADMediaAspectRatio fest.

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

  • Wenn Sie das tun, können Sie die Nutzerfreundlichkeit verbessern, indem Sie das bevorzugte Seitenverhältnis angeben.

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

Bilddownloadsteuerung

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

Legen Sie für GADNativeAdImageAdLoaderOptions disableImageLoading einen BOOL-Wert fest.
  • Die Einstellungen für den Bilddownload sind standardmäßig deaktiviert.

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

Steuerelemente für die Bildnutzlast

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

Legen Sie für GADNativeAdImageAdLoaderOptions shouldRequestMultipleImages einen BOOL-Wert fest.
  • Die Einstellungen für die Bildnutzlast sind standardmäßig deaktiviert.

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

  • 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.

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

Placements mit Datenschutzinfos

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.

Legen Sie für GADNativeAdViewAdOptions preferredAdChoicesPosition einen Wert für GADAdChoicesPosition fest.

  • Wenn diese Einstellung nicht festgelegt ist, wird das Datenschutzinfo-Symbol oben rechts platziert.

  • Wenn diese Einstellung festgelegt ist, wird AdChoices an der benutzerdefinierten Position platziert.

Im folgenden Beispiel wird gezeigt, wie eine benutzerdefinierte Position für das AdChoices-Bild festgelegt wird.

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

Benutzerdefinierte Ansicht für „Datenschutzinfo“

Mit der Funktion für die benutzerdefinierte Ansicht des Datenschutzinfo-Symbols können Sie das Symbol an einer benutzerdefinierten Stelle platzieren. Das unterscheidet sich von den Positionierungseinstellungen von AdChoices, bei denen nur eine der vier Ecken angegeben werden kann.

Wenn du vor dem Rendern der Property GADNativeAd.adChoicesView ein GADAdChoicesView festlegst, wird der AdChoices-Inhalt innerhalb des GADAdChoicesView gerendert.

Im folgenden Beispiel wird gezeigt, wie eine benutzerdefinierte AdChoices-Ansicht festgelegt wird. Das Datenschutzinfo-Symbol wird innerhalb des GADAdChoicesView gerendert.

Objective-C

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

    ...

    
    GADAdChoicesView *customAdChoicesView =
        [[GADAdChoicesView alloc] initWithFrame: CGRectMake(..., ..., ..., ...)];

    [nativeAdView addSubview:customAdChoicesView];
    nativeAdView.adChoicesView = customAdChoicesView;

    // Associate the native ad view with the native ad object. This is
    // required to make the ad clickable.
    // Note: this should always be done after populating the ad views.
    nativeAdView.nativeAd = nativeAd;
}

Swift

func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
    refreshAdButton.isEnabled = true

    ...
    // Define a custom position for the AdChoices icon.
    let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
    let customAdChoicesView = GADAdChoicesView(frame: customRect)
    nativeAdView.addSubview(customAdChoicesView)
    nativeAdView.adChoicesView = customAdChoicesView

    // Associate the native ad view with the native ad object. This is
    // required to make the ad clickable.
    // Note: this should always be done after populating the ad views.
    nativeAdView.nativeAd = nativeAd;
}

Videosteuerelemente

Ausblendungsverhalten starten

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

Legen Sie für GADVideoOptions startMuted einen BOOL-Wert fest.
  • Das Stummschalten beim Starten ist standardmäßig aktiviert.

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

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

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

Benutzerdefinierte Wiedergabesteuerung

So können Sie benutzerdefinierte Videoeingaben anfordern, um das Video abzuspielen, zu pausieren oder stummzuschalten.

Legen Sie für GADVideoOptions customControlsRequested einen BOOL-Wert fest.
  • Benutzerdefinierte Wiedergabesteuerungen sind standardmäßig deaktiviert.

  • Wenn diese Option deaktiviert ist, werden in deinem Video vom SDK gerenderte Eingabesteuerelemente angezeigt.

  • Wenn die Anzeige Videocontent enthält und benutzerdefinierte Steuerelemente aktiviert sind, sollten Sie diese zusammen mit der Anzeige anzeigen lassen, da in der Anzeige keine Steuerelemente zu sehen sind. Die Steuerelemente können dann die entsprechenden Methoden auf der GADVideoController aufrufen.

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

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

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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.

Objective-C

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

  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  BOOL canShowCustomControls = videoController.customControlsEnabled;

}

Swift

func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
        let videoController = nativeAd.mediaContent.videoController
        let canShowCustomControls = videoController?.customControlsEnabled() == true
}

Benutzerdefinierte Videosteuerelemente rendern

Beachten Sie beim Rendern benutzerdefinierter Videosteuerelemente 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 es, ein unsichtbares Overlay über die gesamte Medienansicht zu rendern. Overlays blockieren Klicks in der Medienansicht und wirken sich negativ auf die Leistung nativer Anzeigen aus. Erstellen Sie stattdessen ein kleines Overlay, das gerade groß genug ist, um die Steuerelemente zu enthalten.

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 dieser Anleitung erfahren Sie, wie Sie benutzerdefinierte Klickgesten in Ihren nativen Anzeigen aktivieren.

Initialisieren Sie eine GADNativeAdCustomClickGestureOptions-Instanz mit der ausgewählten Wischrichtung. Außerdem müssen Sie angeben, ob Tippaktionen als Klicks gezählt werden sollen.

  • Benutzerdefinierte Klickgesten sind standardmäßig deaktiviert.

  • Wenn diese Option deaktiviert ist, werden nur Tippaktionen als Klicks gezählt.

  • Wenn diese Option aktiviert ist, werden Wischaktionen als Klicks gezählt. Sie können festlegen, ob auch Tippaktionen als Klicks gezählt werden sollen.

Im folgenden Beispiel wird gezeigt, wie Sie eine benutzerdefinierte Wischgeste nach rechts implementieren und das normale Tippen beibehalten.

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

// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
self.adLoader = [[GADAdLoader alloc]
        initWithAdUnitID:@"/21775744923/example/native"
      rootViewController:self
                 adTypes:@[ GADAdLoaderAdTypeNative ]
                 options:@[ swipeGestureOptions ]];

Auf Wisch-Ereignisse warten

Wenn ein Wisch-Klick erfasst wird, ruft das Google Mobile Ads SDK zusätzlich zur vorhandenen delegierten Methode nativeAdDidRecordClick: die delegierte Methode nativeAdDidRecordSwipeGestureClick: auf GADNativeAdDelegate auf.

#pragma mark - GADNativeAdDelegate implementation

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

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

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.