Native Anzeigen

Native Anzeigen sind Anzeigenelemente, die Benutzern über plattformeigene UI-Komponenten präsentiert werden. Sie werden mit denselben Klassen angezeigt, die Sie bereits in Ihren Storyboards verwenden, und können so formatiert werden, dass sie dem visuellen Design Ihrer App entsprechen. Wenn eine native Anzeige geladen wird, erhält Ihre App ein Anzeigenobjekt, das ihre Assets enthält, und die App (und nicht das SDK) ist dann für deren Anzeige verantwortlich. Dies unterscheidet sich von anderen Anzeigenformaten, bei denen Sie das Erscheinungsbild der Anzeige nicht anpassen können.

Dieser Leitfaden zeigt Ihnen, wie Sie das Google Mobile Ads SDK verwenden, umnative Anzeigenin einer iOS-App zu implementieren, sowie einige wichtige Dinge, die Sie dabei beachten sollten.

Im Großen und Ganzen besteht die erfolgreiche Implementierung nativer Anzeigen aus zwei Teilen: Laden einer Anzeige über das SDK und Anzeigen des Anzeigeninhalts in Ihrer App. Auf dieser Seite wird das Laden von Anzeigen mit dem SDK erläutert.

Wenn Sie native Anzeigen bereits erfolgreich laden und nur wissen möchten, wie sie angezeigt werden, können Sie gerne zu unseren Leitfäden zu nativen Vorlagen oder erweiterten nativen Anzeigen springen.

Voraussetzungen

Testen Sie immer mit Testanzeigen

Bevor Sie beginnen, denken Sie daran, dass Sie beim Erstellen und Testen Ihrer Apps sicher sein sollten, dass Sie Testanzeigen und keine Live-Produktionsanzeigen verwenden. Das Testen mit Produktionsanzeigen kann zur Sperrung Ihres Kontos führen.

Der einfachste Weg, Testanzeigen zu laden, ist die Verwendung unserer dedizierten Testanzeigenblock-ID für alle nativen erweiterten Anzeigen auf iOS:

ca-app-pub-3940256099942544/3986624511

Es wurde speziell so konfiguriert, dass es für jede Anfrage Testanzeigen zurückgibt, und Sie können es beim Codieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Stellen Sie nur sicher, dass Sie es durch Ihre eigene Anzeigenblock-ID ersetzen, bevor Sie Ihre App veröffentlichen.

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

Laden von Anzeigen

Native Anzeigen werden über GADAdLoader Objekte geladen, die gemäß dem GADAdLoaderDelegate Protokoll Nachrichten an ihre Delegaten senden.

Initialisieren Sie den Anzeigenlader

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

Schnell

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

Ziel 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 zum Übergeben des adTypes Arrays, um anzugeben, welche nativen Formate Sie anfordern möchten, und 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 Native Ad Options festlegen .

Das adTypes -Array sollte diese Konstanteenthalten:

Implementieren Sie den Ad Loader-Delegaten

Der Ad Loader-Delegat muss Protokolle implementieren, die für Ihren Anzeigentyp spezifisch sind. Für native Anzeigen:

  • GADNativeAdLoaderDelegate Dieses Protokoll enthält eine Nachricht, die an den Delegierten gesendet wird, wenn eine native Anzeige geladen wurde:

    Schnell

    public func adLoader(_ adLoader: GADAdLoader,
        didReceive nativeAd: GADNativeAd)
    

    Ziel c

    - (void)adLoader:(GADAdLoader *)adLoader
        didReceiveNativeAd:(GADNativeAd *)nativeAd;
    

Fordern Sie die Anzeige an

Sobald Ihr GADAdLoader initialisiert ist, rufen Sie seine Methode loadRequest: auf, um eine Anzeige anzufordern:

Schnell

adLoader.load(GADRequest())

Ziel c

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

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

Wann Sie Anzeigen anfordern sollten

Apps, die native Anzeigen anzeigen, können diese kostenlos im Voraus anfordern, wenn sie tatsächlich angezeigt werden. In vielen Fällen ist dies die empfohlene Vorgehensweise. Eine App, die beispielsweise eine Liste von Elementen mit gemischten nativen Anzeigen anzeigt, kann native Anzeigen für die gesamte Liste laden, da sie weiß, dass einige erst angezeigt werden, nachdem der Benutzer in der Ansicht gescrollt hat, und einige möglicherweise überhaupt nicht angezeigt werden.

Obwohl das Vorabrufen von Anzeigen eine großartige Technik ist, ist es wichtig, dass Sie alte Anzeigen nicht für immer behalten, ohne sie anzuzeigen. Alle nativen Anzeigenobjekte, die länger als eine Stunde nicht angezeigt wurden, sollten verworfen und durch neue Anzeigen aus einer neuen Anfrage ersetzt werden.

Bestimmen, wann das Laden beendet ist

Nachdem eine App loadRequest: hat, kann sie die Ergebnisse der Anfrage über Aufrufe an Folgendes abrufen:

Eine Anforderung 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 zu den oben genannten Methoden, jedoch nicht zu mehr als der maximalen Anzahl angeforderter Anzeigen.

Darüber hinaus bietet GADAdLoaderDelegate den Callback adLoaderDidFinishLoading . Diese Delegate-Methode gibt an, dass ein Ad Loader das Laden von Anzeigen abgeschlossen hat und keine anderen Anzeigen oder Fehler für die Anforderung gemeldet werden. Hier ist ein Beispiel für die Verwendung beim gleichzeitigen Laden mehrerer nativer Anzeigen:

Schnell

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.
  }

}

Ziel 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

Behandlung fehlgeschlagener Anfragen

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

Schnell

public func adLoader(_ adLoader: GADAdLoader,
    didFailToReceiveAdWithError error: NSError)

Ziel c

- (void)adLoader:(GADAdLoader *)adLoader
    didFailToReceiveAdWithError:(NSError *)error;

Lassen Sie sich über native Anzeigenereignisse benachrichtigen

Um über Ereignisse im Zusammenhang mit den Interaktionen mit nativen Anzeigen benachrichtigt zu werden, legen Sie die Eigenschaft „delegate“ der nativen Anzeige fest:

Schnell

nativeAd.delegate = self

Ziel c

nativeAd.delegate = self;

Implementieren Sie dann GADNativeAdDelegate , um die folgenden Delegiertenaufrufe zu erhalten:

Schnell

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.
}

Ziel 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.
}

Zeigen Sie Ihre Anzeige

Nachdem Sie eine Anzeige geladen haben, müssen Sie sie nur noch Ihren Benutzern anzeigen. Sehen Sie sich unseren Native Advanced-Leitfaden an, um zu erfahren, wie das geht.