Native Anzeigen

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

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:

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ür GADAdLoader noch einmal auf, wenn die vorherige Anfrage geladen wurde, wie durch adLoaderDidFinishLoading: 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.