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
- Natives Anzeigenformat einbinden
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:@"ca-app-pub-3940256099942544/3986624511"
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ürGADNativeAdImageAdLoaderOptions 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:@"ca-app-pub-3940256099942544/3986624511"
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ürGADNativeAdImageAdLoaderOptions 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:@"ca-app-pub-3940256099942544/3986624511"
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:@"ca-app-pub-3940256099942544/3986624511"
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ürGADVideoOptions 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:@"ca-app-pub-3940256099942544/3986624511"
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ürGADVideoOptions 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 Funktion aktiviert ist, können Sie die Videoanzeige mit den Tasten
GADVideoController play
,GADVideoController pause
undGADVideoController setMute
steuern.
- 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:@"ca-app-pub-3940256099942544/3986624511"
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:
- 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.
- Vermeiden Sie es, ein unsichtbares Overlay über die gesamte Medienansicht zu rendern. 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 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:@"ca-app-pub-3940256099942544/3986624511"
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.