Native Anzeigen

Native Anzeigen sind Anzeigen-Assets, die Nutzern über UI-Komponenten präsentiert werden, die für die Plattform nativ sind. Sie werden mit den Klassen angezeigt, die Sie bereits für Ihre Storyboards verwenden, und können an das visuelle Design Ihrer App angepasst werden.

Beim Laden einer nativen Anzeige erhält Ihre App ein Anzeigenobjekt, das seine Assets enthält, und die App – und nicht das Google Mobile Ads SDK – ist dann für die Auslieferung der Assets zuständig.

Im Großen und Ganzen umfasst die Implementierung nativer Anzeigen zwei Schritte: das Laden einer Anzeige mithilfe des SDK und das anschließende Einblenden des Anzeigeninhalts in Ihrer App.

Auf dieser Seite wird beschrieben, wie Sie mit dem SDK native Anzeigen.

Voraussetzungen

Immer mit Testanzeigen testen

Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen und keine Liveanzeigen.

Testanzeigen lassen sich am einfachsten mit unserer speziellen Test-ID für Anzeigenblöcke für native Anzeigen auf iOS laden:

/6499/example/native

Sie wurde speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. Sie können sie beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Ersetzen Sie sie einfach durch Ihre eigene Anzeigenblock-ID, bevor Sie Ihre App veröffentlichen.

Weitere Informationen zur Funktionsweise der Testanzeigen des Google Mobile Ads SDK finden Sie unter Anzeigen testen.

Anzeigen laden

Native Anzeigen werden mit der Klasse GADAdLoader geladen, die Nachrichten gemäß dem GADAdLoaderDelegate-Protokoll an ihre Bevollmächtigten senden.

Zusätzlich zum 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 dargestellt.

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 = 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 an das adTypes-Array übergeben werden, um anzugeben, welche nativen Formate Sie anfordern möchten, sowie alle Optionen, die Sie im Parameter options 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-Delegaten implementieren

Der Ad Loader Delegate muss spezifische Protokolle für Ihren Anzeigentyp implementieren. Bei nativen Anzeigen enthält das GADNativeAdLoaderDelegate-Protokoll 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;

Das GADCustomNativeAdLoaderDelegate-Protokoll enthält eine Nachricht, die an den Bevollmächtigten gesendet wird, wenn eine benutzerdefinierte Vorlagenanzeige geladen wurde.

Swift

func adLoader(_ adLoader: GADAdLoader,
  Receive customNativeAd: GADCustomNativeAd)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;

Anzeigenanfrage senden

Sobald die GADAdLoader initialisiert ist, rufen Sie ihre loadRequest:-Methode auf, um eine Anzeige anzufordern:

Swift

adLoader.load(GAMRequest())

Objective-C

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

Für die Methode loadRequest: in GADAdLoader werden dieselben GAMRequest-Objekte wie für Banner und Interstitials akzeptiert. Sie können Anfrageobjekte verwenden, um Targeting-Informationen hinzuzufügen, genau wie bei anderen Anzeigentypen.

Feststellen, wann der Ladevorgang abgeschlossen ist

Nachdem eine Anwendung 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.

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 Ereignissen für native Anzeigen erhalten

Um über Ereignisse im Zusammenhang mit Interaktionen mit nativen Anzeigen informiert zu werden, legen Sie die Eigenschaft "Delegate" der nativen Anzeige fest:

Swift

nativeAd.delegate = self

Objective-C

nativeAd.delegate = self;

Implementieren Sie dann GADNativeAdDelegate, um die folgenden Delegate-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 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.

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

  • Leeren Sie beim Speichern von Anzeigen den Cache und laden Sie sie nach einer Stunde neu.

  • Rufen Sie loadRequest: für ein GADAdLoader erst dann wieder auf, wenn die vorherige Anfrage geladen wurde, wie durch adLoaderDidFinishLoading: angegeben.

Anzeige einblenden

Nachdem Sie eine Anzeige geladen haben, muss sie nur noch den Nutzern präsentiert werden. Weitere Informationen finden Sie in unserem Leitfaden für erweiterte native Anzeigen.