Native Anzeigen sind Anzeigen-Assets, die Nutzern über UI-Komponenten präsentiert werden, die auf der Plattform nativ sind. Sie werden unter Verwendung derselben Klassen gezeigt, die Sie bereits in Ihren Storyboards verwenden, und können so formatiert werden, dass sie zum visuellen Design Ihrer App passen.
Wenn eine native Anzeige geladen wird, empfängt Ihre App ein Anzeigenobjekt, das die zugehörigen Assets enthält. Die App und nicht das Google Mobile Ads SDK ist dann für die Auslieferung verantwortlich.
Grundsätzlich gibt es zwei Schritte für die erfolgreiche Implementierung nativer Anzeigen: Eine Anzeige über das SDK laden und dann den Anzeigeninhalt in Ihrer App darstellen.
Auf dieser Seite erfahren Sie, wie Sie das SDK zum Laden von native Anzeigen.
Voraussetzungen
- Arbeiten Sie den Startleitfaden durch.
Immer mit Testanzeigen testen
Verwenden Sie beim Entwickeln und Testen Ihrer Apps Testanzeigen und keine Produktionsanzeigen.
Am einfachsten lassen sich Testanzeigen mit unserer dedizierten Test-Anzeigenblock-ID für native Anzeigen unter iOS laden:
/6499/example/native
Sie wurde speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. Sie können die Funktion in Ihren eigenen Apps beim Programmieren, Testen und Debuggen verwenden. Ersetzen Sie sie jedoch vor der Veröffentlichung Ihrer App durch Ihre Anzeigenblock-ID.
Weitere Informationen zur Funktionsweise von Testanzeigen des Google Mobile Ads SDK finden Sie unter Testanzeigen.
Anzeigen laden
Native Anzeigen werden mit der Klasse GADAdLoader
geladen, die Nachrichten gemäß dem GADAdLoaderDelegate
-Protokoll an ihre Bevollmächtigten senden.
Neben dem systemdefinierten nativen Format können Sie auch eigene benutzerdefinierte native Anzeigenformate erstellen, die für direkt verkaufte native Anzeigen verwendet werden können. Mit benutzerdefinierten nativen Anzeigenformaten können Sie beliebige strukturierte Daten an Ihre App übergeben. Diese Anzeigen werden durch die Klasse GADCustomNativeAd
repräsentiert.
Ad Loader initialisieren
Bevor Sie eine Anzeige laden können, müssen Sie das Ad Loader initialisieren.
Der folgende Code zeigt, wie ein GADAdLoader
initialisiert wird:
Swift
adLoader = GADAdLoader(adUnitID: "/6499/example/native",
rootViewController: self,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"/6499/example/native"
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 im Array adTypes
übergeben werden müssen, um anzugeben, welche nativen Formate Sie anfordern möchten, sowie alle Optionen, die Sie im options
-Parameter festlegen möchten. Die Liste der möglichen Werte für den Parameter options
finden Sie auf der Seite Optionen für native Anzeigen festlegen.
Das Array adTypes
sollte eine oder mehrere der folgenden Konstantenenthalten:
Ad Loader-Delegate implementieren
Der Ad Loader-Delegaten muss für Ihren Anzeigentyp spezifische Protokolle implementieren.
Bei nativen Anzeigen enthält das Protokoll GADNativeAdLoaderDelegate
eine Nachricht, die an den Bevollmächtigten gesendet wird, sobald eine native Anzeige geladen wurde.
Swift
public func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
Das Protokoll GADCustomNativeAdLoaderDelegate
enthält eine Nachricht, die an den Bevollmächtigten gesendet wird, wenn eine benutzerdefinierte Anzeigenvorlage geladen wurde.
Swift
func adLoader(_ adLoader: GADAdLoader,
Receive customNativeAd: GADCustomNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;
Anzeigenanfrage senden
Sobald Ihre GADAdLoader
initialisiert ist, rufen Sie ihre loadRequest:
-Methode auf, um eine Anzeige anzufordern:
Swift
adLoader.load(GAMRequest())
Objective-C
[self.adLoader loadRequest:[GAMRequest request]];
Die Methode loadRequest:
in GADAdLoader
akzeptiert dieselben GAMRequest
-Objekte wie Banner und Interstitials. Wie bei anderen Anzeigentypen können Sie Anfrageobjekte verwenden, um Targeting-Informationen hinzuzufügen.
Abschluss des Ladevorgangs ermitteln
Nachdem eine Anwendung loadRequest:
aufgerufen hat, kann sie die Ergebnisse der Anfrage mit folgenden Aufrufen abrufen:
adLoader:didFailToReceiveAdWithError:
inGADAdLoaderDelegate
adLoader:didReceiveNativeAd:
inGADNativeAdLoaderDelegate
Eine Anfrage für eine einzelne Anzeige führt zu einem Aufruf einer dieser Methoden.
Fehlgeschlagene Anfragen verarbeiten
Die oben genannten Protokolle sind eine Erweiterung des GADAdLoaderDelegate
-Protokolls. Dieses definiert eine Nachricht, die gesendet wird, wenn Anzeigen nicht geladen werden.
Swift
public func adLoader(_ adLoader: GADAdLoader,
didFailToReceiveAdWithError error: NSError)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didFailToReceiveAdWithError:(NSError *)error;
Benachrichtigungen zu nativen Anzeigenereignissen erhalten
Um über Ereignisse im Zusammenhang mit den Interaktionen mit nativen Anzeigen informiert zu werden, legen Sie das Attribut „delegieren“ der nativen Anzeige fest:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
Implementieren Sie dann GADNativeAdDelegate
, um die folgenden Delegataufrufe 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 app to become inactive and
// open a new app.
}
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 app to become inactive and
// open a new app.
}
Best Practices
Halten Sie sich beim Laden von Anzeigen an die folgenden Regeln.
Apps, in denen native Anzeigen in einer Liste verwendet werden, sollten die Liste der Anzeigen vorab im Cache speichern.
Wenn Sie Anzeigen vorab im Cache speichern, leeren Sie Ihren Cache und laden Sie ihn nach einer Stunde neu.
Rufe
loadRequest:
erst dann fürGADAdLoader
noch einmal auf, wenn die vorherige Anfrage geladen wurde, wie durchadLoaderDidFinishLoading:
angegeben.
Anzeige schalten
Nachdem Sie eine Anzeige geladen haben, müssen Sie sie nur noch für die Nutzer schalten. Weitere Informationen finden Sie in unserem Leitfaden für erweiterte native Anzeigen.