Native Anzeigen sind Anzeigenassets, die den Nutzern über native UI-Komponenten präsentiert werden. Sie werden anhand derselben Klassen angezeigt, die Sie bereits in Ihren Storyboards verwenden, und können entsprechend dem visuellen Design Ihrer App formatiert werden. Wenn eine native Anzeige geladen wird, erhält Ihre App ein Anzeigenobjekt, das ihre Assets enthält. Die App und nicht das SDK ist dann für die Auslieferung zuständig. Dies unterscheidet sie von anderen Anzeigenformaten, bei denen das Erscheinungsbild der Anzeige nicht angepasst werden kann.
In diesem Leitfaden erfahren Sie, wie Sie mit dem Google Mobile Ads SDK native Anzeigen in einer iOS-App implementieren können. Außerdem erhalten Sie einige wichtige Punkte, die Sie dabei berücksichtigen sollten.
Grundsätzlich gibt es zwei Teile für die Implementierung von nativen Anzeigen: das Laden einer Anzeige über das SDK und die Darstellung des Anzeigeninhalts in Ihrer App. Auf dieser Seite wird das Laden von Anzeigen mit dem SDK beschrieben.
Wenn Sie bereits native Anzeigen geladen haben und jetzt wissen möchten, wie sie ausgeliefert werden, können Sie jederzeit die Anleitungen zu nativen Vorlagen oder erweiterten nativen Anzeigen überspringen.
Voraussetzungen
- Folgen Sie der Anleitung im Startleitfaden.
Immer mit Testanzeigen testen
Beim Erstellen und Testen Ihrer Apps sollten Sie darauf achten, Testanzeigen statt Live-Produktionsanzeigen zu verwenden. Tests mit Produktionsanzeigen können zur Sperrung Ihres Kontos führen.
Am einfachsten laden Sie die Testanzeigen über die spezielle Anzeigenblock-ID für alle nativen erweiterten Anzeigen unter iOS:
ca-app-pub-3940256099942544/3986624511
Es wurde speziell für die Rückgabe von Testanzeigen für jede Anfrage konfiguriert und kann in Ihren eigenen Apps beim Codieren, Testen und Debuggen verwendet werden. Ersetzen Sie diese vor dem Veröffentlichen Ihrer App einfach durch Ihre eigene Anzeigenblock-ID.
Weitere Informationen zur Funktionsweise der Testanzeigen des Mobile Ads SDK finden Sie unter Testanzeigen.
Anzeigen werden geladen
Native Anzeigen werden über GADAdLoader
-Objekte geladen, die entsprechend dem GADAdLoaderDelegate
-Protokoll Nachrichten an ihre Bevollmächtigten senden.
Anzeigenladeprogramm initialisieren
Bevor Sie eine Anzeige laden können, müssen Sie den Adloader initialisieren.
Der folgende Code zeigt, wie ein GADAdLoader
initialisiert wird:
Swift
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511", rootViewController: self, adTypes: [ .native ], options: [ ... ad loader options objects ... ]) adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511" rootViewController:rootViewController adTypes:@[ GADAdLoaderAdTypeNative ] options:@[ ... ad loader options objects ... ]]; self.adLoader.delegate = self;
Sie benötigen eine Anzeigenblock-ID (Sie können die Test-ID verwenden), Konstanten, die mit dem adTypes
-Array übergeben werden, um festzulegen, welche nativen Formate Sie anfordern möchten, und alle Optionen, die Sie im Parameter options
festlegen möchten. Eine Liste der möglichen Werte für den Parameter options
finden Sie auf der Seite mit den Optionen für native Anzeigen.
Das Array adTypes
sollte diese Konstanteenthalten:
Adloader-Bevollmächtigten implementieren
Der Bevollmächtigte für das Anzeigenladeprogramm muss Protokolle implementieren, die für Ihren Anzeigentyp spezifisch sind. Für native Anzeigen:
-
GADNativeAdLoaderDelegate
Dieses Protokoll enthält eine Nachricht, die an den Bevollmächtigten gesendet wird, wenn eine native Anzeige geladen wurde:Swift
public func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd;
Anzeige anfordern
Nachdem GADAdLoader
initialisiert wurde, rufen Sie die zugehörige Methode loadRequest:
auf, um eine Anzeige anzufordern:
Swift
adLoader.load(GADRequest())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
Für die Methode loadRequest:
in GADAdLoader
können dieselben GADRequest
-Objekte wie für Banner und Interstitials verwendet werden. Sie können Anfrageobjekte verwenden, um Ausrichtungsinformationen hinzuzufügen, wie Sie das auch bei anderen Anzeigentypen tun würden.
Wann sollten Anzeigen angefordert werden?
Apps, in denen native Anzeigen ausgeliefert werden, können kostenlos angefragt werden, bevor sie ausgeliefert werden. In vielen Fällen ist dies die empfohlene Vorgehensweise. In einer App, in der beispielsweise eine Liste mit Elementen gemischt ist, in denen native Anzeigen enthalten sind, können native Anzeigen für die gesamte Liste geladen werden. Dabei werden einige Anzeigen unter Umständen erst ausgeliefert, wenn der Nutzer scrollt.
Der Vorabruf von Anzeigen ist eine tolle Technik. Es ist aber wichtig, alte Anzeigen nicht für immer zu speichern, ohne sie auszuliefern. Alle nativen Anzeigenobjekte, die nach mehr als einer Stunde ohne Anzeige zurückgehalten wurden, sollten verworfen und durch neue Anzeigen aus einer neuen Anfrage ersetzt werden.
Bestimmen, wann der Ladevorgang abgeschlossen ist
Nachdem eine Anwendung loadRequest:
aufgerufen hat, kann sie die Ergebnisse der Anfrage über Aufrufe von:
adLoader:didFailToReceiveAdWithError:
inGADAdLoaderDelegate
adLoader:didReceiveNativeAd:
inGADNativeAdLoaderDelegate
Eine Anfrage für eine einzelne Anzeige führt zu einem Aufruf einer dieser Methoden.
Eine Anfrage für mehrere Anzeigen führt zu mindestens einem Callback für die oben genannten Methoden, jedoch nicht mehr als die maximale Anzahl von angeforderten Anzeigen.
Außerdem bietet GADAdLoaderDelegate
den Callback adLoaderDidFinishLoading
. Diese Delegatmethode gibt an, dass ein Anzeigenladeprogramm das Laden der Anzeigen abgeschlossen hat und keine anderen Anzeigen oder Fehler für die Anfrage gemeldet werden. Hier ein Beispiel für die Verwendung beim gleichzeitigen Laden mehrerer nativer Anzeigen:
Swift
class ViewController: UIViewController, GADNativeAdLoaderDelegate { var adLoader: GADAdLoader! override func viewDidLoad() { super.viewDidLoad() let multipleAdsOptions = GADMultipleAdsAdLoaderOptions() multipleAdsOptions.numberOfAds = 5 adLoader = GADAdLoader(adUnitID: YOUR_AD_UNIT_ID, rootViewController: self, adTypes: [.native], options: [multipleAdsOptions]) adLoader.delegate = self adLoader.load(GADRequest()) } func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) { // A native ad has loaded, and can be displayed. } func adLoaderDidFinishLoading(_ adLoader: GADAdLoader) { // The adLoader has finished loading ads, and a new request can be sent. } }
Objective-C
@interface ViewController () <GADNativeAdLoaderDelegate, GADVideoControllerDelegate> @property(nonatomic, strong) GADAdLoader *adLoader; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADMultipleAdsAdLoaderOptions *multipleAdsOptions = [[GADMultipleAdsAdLoaderOptions alloc] init]; multipleAdsOptions.numberOfAds = 5; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:YOUR_AD_UNIT_ID rootViewController:self adTypes:@[GADAdLoaderAdTypeNative] options:@[multipleAdsOptions]]; self.adLoader.delegate = self; [self.adLoader loadRequest:[GADRequest request]]; } - (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd { // A native ad has loaded, and can be displayed. } - (void)adLoaderDidFinishLoading:(GADAdLoader *) adLoader { // The adLoader has finished loading ads, and a new request can be sent. } @end
Fehlgeschlagene Anfragen verarbeiten
Die oben genannten Protokolle erweitern das GADAdLoaderDelegate
-Protokoll, das eine Nachricht definiert, die gesendet wird, wenn Anzeigen nicht geladen werden können.
Swift
public func adLoader(_ adLoader: GADAdLoader, didFailToReceiveAdWithError error: NSError)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error;
Benachrichtigungen zu nativen Anzeigenereignissen erhalten
Wenn Sie über Ereignisse im Zusammenhang mit nativen Anzeigeninteraktionen benachrichtigt werden möchten, legen Sie die delegierte Eigenschaft der nativen Anzeige fest:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
Implementieren Sie dann GADNativeAdDelegate
, um die folgenden delegierten Aufrufe zu erhalten:
Swift
func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) { // The native ad was shown. } func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) { // The native ad was clicked on. } func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) { // The native ad will present a full screen view. } func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) { // The native ad will dismiss a full screen view. } func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) { // The native ad did dismiss a full screen view. } func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) { // The native ad will cause the application to become inactive and // open a new application. }
Objective-C
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd { // The native ad was shown. } - (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd { // The native ad was clicked on. } - (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd { // The native ad will present a full screen view. } - (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd { // The native ad will dismiss a full screen view. } - (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd { // The native ad did dismiss a full screen view. } - (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd { // The native ad will cause the application to become inactive and // open a new application. }
Anzeige einblenden
Nachdem Sie eine Anzeige geladen haben, müssen Sie sie nur noch für Ihre Nutzer bereitstellen. Weitere Informationen finden Sie in unserem Leitfaden für erweiterte native Anzeigen.