Native Anzeigen sind Anzeigen-Assets, die Nutzern über Komponenten der Benutzeroberfläche sind plattformspezifisch. Sie werden in den Klassen angezeigt, die Sie bereits verwenden in Ihren Storyboards verwenden und so formatiert werden, dass sie zum visuellen Design Ihrer App passen.
Beim Laden einer nativen Anzeige erhält Ihre App ein Anzeigenobjekt, das die zugehörigen Assets enthält. die App und nicht das Google Mobile Ads SDK, für die Anzeige verantwortlich.
Grundsätzlich gibt es zwei Schritte für die erfolgreiche Implementierung nativer Anzeigen: Laden einer Anzeige mithilfe des SDK und anschließendes Anzeigen des Anzeigeninhalts in Ihrer App
Auf dieser Seite erfahren Sie, wie Sie mit dem SDK native Anzeigen.
Vorbereitung
- Arbeiten Sie den Startleitfaden durch.
Immer mit Testanzeigen testen
Verwenden Sie beim Entwickeln und Testen Ihrer Apps nur Testanzeigen, Live-Produktionsanzeigen.
Die einfachste Methode zum Laden von Testanzeigen ist die Verwendung unserer speziellen Test-Anzeigenblock-ID für native Anzeigen auf iOS-Geräten:
ca-app-pub-3940256099942544/3986624511
Sie ist speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Achten Sie nur darauf, Ersetzen Sie sie vor dem Veröffentlichen Ihrer App durch Ihre Anzeigenblock-ID.
Weitere Informationen zur Funktionsweise von Testanzeigen des Google Mobile Ads SDK finden Sie unter Testen Sie Anzeigen.
Anzeigen laden
Native Anzeigen werden mit dem
GADAdLoader
-Klasse, die Nachrichten an ihre Bevollmächtigten gemäß den
GADAdLoaderDelegate
Protokoll.
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: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
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 zur Übergabe der
adTypes
-Array, 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
Die Werte für den Parameter options
finden Sie unter Native Anzeige einrichten
Seite „Optionen“.
Das Array adTypes
sollte Folgendes enthalten:
diese Konstante :
Ad Loader-Delegate implementieren
Der Ad Loader-Delegaten muss für Ihren Anzeigentyp spezifische Protokolle implementieren.
Bei nativen Anzeigen enthält das GADNativeAdLoaderDelegate
-Protokoll eine Mitteilung
der 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;
Anzeigenanfrage senden
Sobald Ihr GADAdLoader
initialisiert ist, rufen Sie seine loadRequest:
-Methode auf
Anzeige anfordern:
Swift
adLoader.load(GADRequest())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
Die
loadRequest:
Methode in
GADAdLoader
akzeptiert dieselben
GADRequest
Objekte als Banner und Interstitials. Sie können Anfrageobjekte verwenden, um
Ausrichtungsinformationen, genau wie Sie
wie bei anderen Anzeigentypen.
Mehrere Anzeigen laden (optional)
Um mehrere Anzeigen in einer einzelnen Anfrage zu laden, legen Sie den Parameter
GADMultipleAdsAdLoaderOptions
-Objekt beim Initialisieren von GADAdLoader
.
Swift
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: self,
adTypes: [ .native ],
options: [ multipleAdOptions ])
Objective-C
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
Die Anzahl der Anzeigen pro Anfrage ist auf fünf begrenzt und es kann nicht garantiert werden, dass gibt das SDK die genaue Anzahl der angeforderten Anzeigen zurück.
Die zurückgegebenen Google Anzeigen unterscheiden sich zwar alle voneinander, sind reserviertes Inventar oder Drittanbieterkäufer nicht immer eindeutig.
Verwenden Sie die Klasse GADMultipleAdsAdLoaderOptions
nicht, wenn Sie die Vermittlung nutzen.
da Anfragen für mehrere native Anzeigen
derzeit nicht für Anzeigenblock-IDs funktionieren,
die für die Vermittlung konfiguriert wurden.
Abschluss des Ladevorgangs ermitteln
Nachdem eine Anwendung loadRequest:
aufgerufen hat, kann sie die Ergebnisse der Anfrage mithilfe von
Aufrufe an:
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 Rückruf an die oben genannten Methoden, jedoch nicht mehr als die maximale Anzahl der angeforderten Anzeigen.
Außerdem bietet GADAdLoaderDelegate
die adLoaderDidFinishLoading
Callback des Nutzers an. Diese Delegatmethode gibt an, dass ein Anzeigenladeprogramm fertig geladen ist.
Anzeigen und keine anderen Anzeigen oder Fehler werden für die Anfrage gemeldet. Hier ist ein
Beispiel, wie sie beim gleichzeitigen Laden mehrerer nativer Anzeigen verwendet werden können:
Swift
class ViewController: UIViewController, GADNativeAdLoaderDelegate {
var adLoader: GADAdLoader!
override func viewDidLoad() {
super.viewDidLoad()
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ multipleAdOptions ])
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:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
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 ein
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
Legen Sie den Bevollmächtigten fest, um über Ereignisse im Zusammenhang mit den Interaktionen mit nativen Anzeigen informiert zu werden. Eigenschaft der nativen Anzeige:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
Implementieren Sie dann
GADNativeAdDelegate
um die folgenden Delegiertenaufrufe 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
Beachten Sie beim Laden von Anzeigen 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.
loadRequest:
bis zur vorherigen Anfrage fürGADAdLoader
nicht noch einmal aufrufen geladen wird, wie durchadLoaderDidFinishLoading:
angegeben.
Anzeige schalten
Nachdem Sie eine Anzeige geladen haben, müssen Sie sie nur noch für die Nutzer schalten. Dann sehen Sie sich unsere erweiterten nativen Anzeigen , um zu erfahren, wie das geht.