Native Anzeigen

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

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:

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ür GADAdLoader nicht noch einmal aufrufen geladen wird, wie durch adLoaderDidFinishLoading: 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.