Native Anzeige laden

Native Anzeigen sind Anzeigen-Assets, die Nutzern über UI-Komponenten präsentiert werden, die nativ für die Plattform sind. Native Anzeigen werden unter Verwendung der gleichen Klassen dargestellt, die Sie bereits in Ihren Storyboards verwenden. Außerdem können sie so formatiert werden, dass sie mit dem visuellen Design Ihrer App übereinstimmen.

Wenn eine native Anzeige geladen wird, empfängt Ihre App ein Anzeigenobjekt, das die Assets enthält. Die App ist dann für die Anzeige der Assets verantwortlich, nicht Google Mobile Ads SDK.

Im Allgemeinen besteht die erfolgreiche Implementierung nativer Anzeigen aus zwei Phasen: eine Anzeige wird mit dem SDK geladen und anschließend wird der Anzeigeninhalt in Ihrer App dargestellt.

Auf dieser Seite erfahren Sie, wie Sie mit dem SDK native Anzeigen laden.

Vorbereitung

Bevor Sie fortfahren, richten Sie Google Mobile Ads SDK ein.

Immer mit Testanzeigen testen

Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen anstelle von Live-Anzeigen.

Testanzeigen lassen sich unter iOS am einfachsten mit unserer speziellen Test-Anzeigenblock-ID für native Anzeigen laden:

ca-app-pub-3940256099942544/3986624511

Sie ist speziell so konfiguriert, dass für jede Anfrage Testanzeigen zurückgegeben werden. Sie können sie in Ihren eigenen Apps beim Programmieren, Testen und Debuggen verwenden. Ersetzen Sie sie vor der Veröffentlichung Ihrer App durch Ihre eigene Anzeigenblock-ID.

Weitere Informationen zu Google Mobile Ads SDK-Testanzeigen finden Sie unter Testanzeigen aktivieren.

Anzeigen laden

Native Anzeigen werden mit der Klasse GADAdLoader geladen, die Nachrichten gemäß dem Protokoll GADAdLoaderDelegate an ihre Delegierten sendet.

Anzeigenladeprogramm initialisieren

Bevor Sie eine Anzeige laden können, müssen Sie das Anzeigenladeprogramm initialisieren. Der folgende Code zeigt, wie ein GADAdLoader initialisiert wird:

Swift

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  // The UIViewController parameter is optional.
  rootViewController: self,
  // To receive native ads, the ad loader's delegate must
  // conform to the NativeAdLoaderDelegate protocol.
  adTypes: [.native],
  // Use nil for default options.
  options: nil)
// Set the delegate before making an ad request.
adLoader.delegate = self

Ersetzen Sie nativeAdUnitID durch die ID Ihres Anzeigenblocks.

Objective-C

self.adLoader =
    [[GADAdLoader alloc] initWithAdUnitID:"kNativeAdUnitID"
                       // The UIViewController parameter is optional.
                       rootViewController:self
                                  // To receive native ads, the ad loader's delegate must
                                  // conform to the NativeAdLoaderDelegate protocol.
                                  adTypes:@[ GADAdLoaderAdTypeNative ]
                                  // Use nil for default options.
                                  options:nil];
// Set the delegate before making an ad request.
self.adLoader.delegate = self;

Ersetzen Sie kNativeAdUnitID durch die ID Ihres Anzeigenblocks.

Sie benötigen eine Anzeigenblock-ID (Sie können die Test-ID verwenden), Konstanten, die im Array adTypes übergeben werden, um anzugeben, 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 Optionen für native Anzeigen festlegen.

Das Array adTypes sollte diese Konstante enthalten :

Anzeigenladeprogramm-Delegat implementieren

Der Anzeigen-Loader-Delegate muss Protokolle implementieren, die für Ihren Anzeigentyp spezifisch sind. Bei nativen Anzeigen enthält das GADNativeAdLoaderDelegate-Protokoll eine Nachricht, die an den Bevollmächtigten gesendet wird, wenn eine native Anzeige geladen wurde.

Swift

func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
  // Set the delegate to receive notifications for interactions with the native ad.
  nativeAd.delegate = self

  // TODO: Display the native ad.
}

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
  // Set the delegate to receive notifications for interactions with the native ad.
  nativeAd.delegate = self;

  // TODO: Display the native ad.
}

Anzeigenanfrage senden

Nachdem die GADAdLoader initialisiert wurde, rufen Sie die Methode loadRequest: auf, um eine Anzeige anzufordern:

Swift

adLoader.load(Request())

Objective-C

[self.adLoader loadRequest:[GADRequest request]];

Die Methode loadRequest: in GADAdLoader akzeptiert dieselben GADRequest-Objekte wie Banner und Interstitials. Sie können Anfrageobjekte verwenden, um Targeting-Informationen hinzuzufügen, genau wie bei anderen Anzeigentypen.

Mehrere Anzeigen laden (optional)

Wenn Sie mehrere Anzeigen in einer einzelnen Anfrage laden möchten, legen Sie beim Initialisieren eines GADAdLoader das Objekt GADMultipleAdsAdLoaderOptions fest.

Swift

let multipleAdOptions = MultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5
adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  // The UIViewController parameter is optional.
  rootViewController: self,
  adTypes: [.native],
  options: [multipleAdOptions])

Objective-C

GADMultipleAdsAdLoaderOptions *multipleAdOptions = [[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdOptions.numberOfAds = 5;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"kNativeAdUnitID"
                                   // The UIViewController parameter is optional.
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ multipleAdOptions ]];

Die Anzahl der Anzeigen pro Anzeigenanfrage ist auf fünf begrenzt. Es ist nicht garantiert, dass das SDK genau die angeforderte Anzahl von Anzeigen zurückgibt.

Die zurückgegebenen Google Anzeigen unterscheiden sich alle voneinander. Anzeigen aus reserviertem Inventar oder von Drittanbieterkäufern sind jedoch nicht garantiert eindeutig.

Verwenden Sie die Klasse GADMultipleAdsAdLoaderOptions nicht, wenn Sie Vermittlung nutzen, da Anfragen für mehrere native Anzeigen nicht für Anzeigenblock-IDs funktionieren, die für die Vermittlung konfiguriert wurden.

Feststellen, wann der Ladevorgang abgeschlossen ist

Nachdem eine App loadRequest: aufgerufen hat, kann sie die Ergebnisse der Anfrage mit folgenden Aufrufen abrufen:

Eine Anfrage für eine einzelne Anzeige führt zu einem Aufruf einer dieser Methoden.

Eine Anzeigenanfrage für mehrere Anzeigen führt zu mindestens einem Callback für die oben genannten Methoden, aber nicht zu mehr als der maximalen Anzahl der angeforderten Anzeigen.

Außerdem bietet GADAdLoaderDelegate den Callback adLoaderDidFinishLoading. Diese Delegatmethode gibt an, dass ein Anzeigen-Loader das Laden von Anzeigen abgeschlossen hat und für die Anfrage keine weiteren Anzeigen oder Fehler gemeldet werden. Hier ein Beispiel für die Verwendung beim gleichzeitigen Laden mehrerer nativer Anzeigen:

Swift

func adLoaderDidFinishLoading(_ adLoader: AdLoader) {
  // The adLoader has finished loading ads.
}

Objective-C

- (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader {
  // The adLoader has finished loading ads.
}

Fehlgeschlagene Anfragen verarbeiten

Die Protokolle erweitern das GADAdLoaderDelegate-Protokoll, das eine Nachricht definiert, die gesendet wird, wenn Anzeigen nicht geladen werden können.

Swift

func adLoader(_ adLoader: AdLoader, didFailToReceiveAdWithError error: any Error) {
  // The adLoader failed to receive an ad.
}

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error {
  // The adLoader failed to receive an ad.
}

Benachrichtigungen zu Ereignissen nativer Anzeigen erhalten

Wenn Sie über Ereignisse im Zusammenhang mit Interaktionen mit nativen Anzeigen benachrichtigt werden möchten, legen Sie das Attribut „delegate“ 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: NativeAd) {
  // The native ad was shown.
}

func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
  // The native ad was clicked on.
}

func nativeAdWillPresentScreen(_ nativeAd: NativeAd) {
  // The native ad will present a full screen view.
}

func nativeAdWillDismissScreen(_ nativeAd: NativeAd) {
  // The native ad will dismiss a full screen view.
}

func nativeAdDidDismissScreen(_ nativeAd: NativeAd) {
  // The native ad did dismiss a full screen view.
}

func nativeAdWillLeaveApplication(_ nativeAd: NativeAd) {
  // 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:

  • Bei Apps, in denen native Anzeigen in einer Liste verwendet werden, sollte die Liste der Anzeigen vorab im Cache gespeichert werden.

  • Wenn Sie Anzeigen im Voraus im Cache speichern, leeren Sie den Cache und laden Sie ihn nach einer Stunde neu.

  • Rufen Sie loadRequest: für ein GADAdLoader erst wieder auf, wenn die vorherige Anfrage vollständig geladen wurde. Dies wird durch adLoaderDidFinishLoading: angezeigt.

  • Beschränken Sie das Caching nativer Anzeigen auf das, was wirklich benötigt wird. Beim Pre-Caching sollten Sie beispielsweise nur die Anzeigen im Cache speichern, die sofort auf dem Bildschirm zu sehen sind. Native Anzeigen haben einen großen Speicherbedarf. Wenn Sie native Anzeigen im Cache speichern, ohne sie zu löschen, führt das zu einer übermäßigen Speichernutzung.

  • Löschen Sie native Anzeigen, wenn sie nicht mehr verwendet werden.

Anzeige darstellen

Nachdem Sie eine Anzeige geladen haben, müssen Sie sie nur noch Ihren Nutzern präsentieren. Weitere Informationen finden Sie unter Erweiterte native Anzeigen oder Native Vollbildanzeigen.