Native Anzeigen

Native Anzeigen sind Anzeigenassets, die den Nutzern über native UI-Komponenten präsentiert werden. Sie werden anhand derselben Klassen angezeigt, die Sie bereits in Ihren Storyboards verwenden, und können entsprechend dem visuellen Design Ihrer App formatiert werden. Wenn eine native Anzeige geladen wird, erhält Ihre App ein Anzeigenobjekt, das ihre Assets enthält. Die App und nicht das SDK ist dann für die Auslieferung zuständig. Dies unterscheidet sie von anderen Anzeigenformaten, bei denen das Erscheinungsbild der Anzeige nicht angepasst werden kann.

In diesem Leitfaden erfahren Sie, wie Sie mit dem Google Mobile Ads SDK native Anzeigen in einer iOS-App implementieren können. Außerdem erhalten Sie einige wichtige Punkte, die Sie dabei berücksichtigen sollten.

Grundsätzlich gibt es zwei Teile für die Implementierung von nativen Anzeigen: das Laden einer Anzeige über das SDK und die Darstellung des Anzeigeninhalts in Ihrer App. Auf dieser Seite wird das Laden von Anzeigen mit dem SDK beschrieben.

Wenn Sie bereits native Anzeigen geladen haben und jetzt wissen möchten, wie sie ausgeliefert werden, können Sie jederzeit die Anleitungen zu nativen Vorlagen oder erweiterten nativen Anzeigen überspringen.

Voraussetzungen

Immer mit Testanzeigen testen

Beim Erstellen und Testen Ihrer Apps sollten Sie darauf achten, Testanzeigen statt Live-Produktionsanzeigen zu verwenden. Tests mit Produktionsanzeigen können zur Sperrung Ihres Kontos führen.

Am einfachsten laden Sie die Testanzeigen über die spezielle Anzeigenblock-ID für alle nativen erweiterten Anzeigen unter iOS:

ca-app-pub-3940256099942544/3986624511

Es wurde speziell für die Rückgabe von Testanzeigen für jede Anfrage konfiguriert und kann in Ihren eigenen Apps beim Codieren, Testen und Debuggen verwendet werden. Ersetzen Sie diese vor dem Veröffentlichen Ihrer App einfach durch Ihre eigene Anzeigenblock-ID.

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

Anzeigen werden geladen

Native Anzeigen werden über GADAdLoader-Objekte geladen, die entsprechend dem GADAdLoaderDelegate-Protokoll Nachrichten an ihre Bevollmächtigten senden.

Anzeigenladeprogramm initialisieren

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

Swift

adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
    rootViewController: self,
    adTypes: [ .native ],
    options: [ ... ad loader options objects ... ])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
    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 mit dem adTypes-Array übergeben werden, um festzulegen, 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 mit den Optionen für native Anzeigen.

Das Array adTypes sollte diese Konstanteenthalten:

Adloader-Bevollmächtigten implementieren

Der Bevollmächtigte für das Anzeigenladeprogramm muss Protokolle implementieren, die für Ihren Anzeigentyp spezifisch sind. Für native Anzeigen:

  • GADNativeAdLoaderDelegate Dieses Protokoll enthält 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;
    

Anzeige anfordern

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

Swift

adLoader.load(GADRequest())

Objective-C

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

Für die Methode loadRequest: in GADAdLoader können dieselben GADRequest-Objekte wie für Banner und Interstitials verwendet werden. Sie können Anfrageobjekte verwenden, um Ausrichtungsinformationen hinzuzufügen, wie Sie das auch bei anderen Anzeigentypen tun würden.

Wann sollten Anzeigen angefordert werden?

Apps, in denen native Anzeigen ausgeliefert werden, können kostenlos angefragt werden, bevor sie ausgeliefert werden. In vielen Fällen ist dies die empfohlene Vorgehensweise. In einer App, in der beispielsweise eine Liste mit Elementen gemischt ist, in denen native Anzeigen enthalten sind, können native Anzeigen für die gesamte Liste geladen werden. Dabei werden einige Anzeigen unter Umständen erst ausgeliefert, wenn der Nutzer scrollt.

Der Vorabruf von Anzeigen ist eine tolle Technik. Es ist aber wichtig, alte Anzeigen nicht für immer zu speichern, ohne sie auszuliefern. Alle nativen Anzeigenobjekte, die nach mehr als einer Stunde ohne Anzeige zurückgehalten wurden, sollten verworfen und durch neue Anzeigen aus einer neuen Anfrage ersetzt werden.

Bestimmen, wann der Ladevorgang abgeschlossen ist

Nachdem eine Anwendung loadRequest: aufgerufen hat, kann sie die Ergebnisse der Anfrage über Aufrufe von:

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 Callback für die oben genannten Methoden, jedoch nicht mehr als die maximale Anzahl von angeforderten Anzeigen.

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

Swift

class ViewController: UIViewController, GADNativeAdLoaderDelegate {

  var adLoader: GADAdLoader!

  override func viewDidLoad() {
    super.viewDidLoad()

    let multipleAdsOptions = GADMultipleAdsAdLoaderOptions()
    multipleAdsOptions.numberOfAds = 5

    adLoader = GADAdLoader(adUnitID: YOUR_AD_UNIT_ID, rootViewController: self,
        adTypes: [.native],
        options: [multipleAdsOptions])
    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:YOUR_AD_UNIT_ID
          rootViewController:self
                     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 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 nativen Anzeigenereignissen erhalten

Wenn Sie über Ereignisse im Zusammenhang mit nativen Anzeigeninteraktionen benachrichtigt werden möchten, legen Sie die delegierte Eigenschaft der nativen Anzeige fest:

Swift

nativeAd.delegate = self

Objective-C

nativeAd.delegate = self;

Implementieren Sie dann GADNativeAdDelegate, um die folgenden delegierten 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 application to become inactive and
  // open a new application.
}

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 application to become inactive and
  // open a new application.
}

Anzeige einblenden

Nachdem Sie eine Anzeige geladen haben, müssen Sie sie nur noch für Ihre Nutzer bereitstellen. Weitere Informationen finden Sie in unserem Leitfaden für erweiterte native Anzeigen.