Native Designs

Mit den Einstellungen für native Designs kann Google Ad Manager das Rendering nativer Anzeigen anhand der nativen Designs übernehmen, die Sie im Produkt definieren. Legen Sie zuerst die Größe und das Targeting fest. Fügen Sie dann HTML-, CSS- und JavaScript-Code hinzu, um responsive Anzeigen zu definieren und auf allen Bildschirmen eine hochwertige Darstellung zu erzielen. Das Rendering übernehmen wir vollständig für Sie. In Ad Manager wird automatisch das richtige native Design für das Ziel angewendet. Native Designs werden genau wie Banneranzeigen mit einem GAMBannerView implementiert. Sie können mit einer festen Anzeigengröße, die im Voraus festgelegt wird, oder mit einer flexiblen Anzeigengröße verwendet werden, die während der Laufzeit festgelegt wird.

Voraussetzungen

  • Google Mobile Ads SDK: Version 7.14.0 oder höher

In diesem Leitfaden werden Grundkenntnisse des Google Mobile Ads SDK vorausgesetzt. Falls noch nicht geschehen, sollten Sie unseren Startleitfaden durcharbeiten.

Feste Größe

Bei nativen Designs mit einer festen Größe können Sie die Breite und Höhe der nativen Anzeige steuern. So legen Sie eine feste Größe fest:

  1. Erstellen Sie in der Ad Manager-Benutzeroberfläche eine Werbebuchung und wählen Sie im Drop-down-Menü des Felds Size eine der vordefinierten Größen aus.

  2. Legen Sie im Interface Builder die Breite und Höhe von GAMBannerView so fest, dass sie der in Schritt 1 ausgewählten vordefinierten Größe entspricht. Im Bereich Bannergröße finden Sie eine Liste der Größen und der zugehörigen GADAdSize-Konstanten.

Sie können native Designs mit einer festen Größe ganz einfach implementieren. Folgen Sie dazu der Anleitung unter Ihre erste Banneranfrage. Sie erhalten jedoch die Flexibilität und Kontrolle über HTML-, CSS- und JavaScript-Code, um Ihrer Banneranzeigen ein natives Design zu geben, das in Ihrer App ganz natürlich erscheint.

Flexible Größe

In einigen Fällen ist eine feste Größe nicht sinnvoll. Sie möchten beispielsweise, dass die Breite der Anzeige dem Inhalt Ihrer App entspricht, die Höhe jedoch dynamisch an den Anzeigeninhalt angepasst werden soll. In diesem Fall können Sie auf der Ad Manager-Benutzeroberfläche Fluid als Anzeigengröße angeben. Dadurch wird festgelegt, dass die Größe der Anzeige zur Laufzeit in der App bestimmt wird. Das SDK stellt dafür eine spezielle GADAdSize-Konstante kGADAdSizeFluid zur Verfügung. Die Höhe der flexiblen Anzeigengröße wird anhand der vom Publisher definierten Breite dynamisch ermittelt. So kann der GAMBannerView seine Höhe an die des Creatives anpassen.

Flexible Anfrage

Im Gegensatz zu anderen Anzeigenformaten hat die Anzeigengröße kGADAdSizeFluid keine vordefinierte Breite. Legen Sie daher die Framebreite des Banners explizit in Ihrem Code oder in Interface Builder fest. Wenn keine Breite angegeben ist, wird die Höhe des Banners vom SDK standardmäßig anhand der vollen Breite des Geräts festgelegt.

Wenn Sie eine Anfrage für mehrere Größen senden, die kGADAdSizeFluid enthält, wird die zurückgegebene Anzeige immer in einem Container mit flexibler Größe platziert und verhält sich dann wie eine flexible Anzeige. Falls in diesem flexiblen Container ein nicht flexibles Creative zurückgegeben wird, wird die Anzeige vom SDK im Container zentriert, sodass Sie die Breitenbeschränkung nicht jedes Mal ändern müssen, wenn eine neue Anzeige zurückgegeben wird.

Die Implementierung für Anfragen mit einer einzelnen Größe und einer Anfrage mit mehreren Größen ist sehr ähnlich. Der einzige Unterschied besteht bei einer Anfrage mit mehreren Größen darin, dass Sie mit der Eigenschaft validAdSizes die Anzeigengrößen angeben, die für die Anzeigenanfrage zulässig sind:

Swift

bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
                           NSValueFromGADAdSize(kGADAdSizeBanner)]

Objective-C

_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
                              NSValueFromGADAdSize(kGADAdSizeBanner) ];

So sieht die vollständige Implementierung im Code aus:

Swift

var bannerView: GAMBannerView!

override func viewDidLoad() {
  super.viewDidLoad()
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  bannerView = GAMBannerView(adSize: kGADAdSizeFluid)
  var frameRect = bannerView.frame
  frameRect.size.width = view.bounds.width
  bannerView.frame = frameRect

  // Uncomment this code for a multisize fluid request.
  // bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
  //                            NSValueFromGADAdSize(kGADAdSizeBanner)]

  bannerView.adUnitID = "YOUR_AD_UNIT_ID"
  bannerView.rootViewController = self

  // Make the ad request.
  bannerView.load(GAMRequest())
}

Objective-C

GAMBannerView *_bannerView;

- (void)viewDidLoad {
  [super viewDidLoad];
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  _bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
  CGRect frameRect = _bannerView.frame;
  frameRect.size.width = CGRectGetWidth(self.view.bounds);
  _bannerView.frame = frameRect;

  // Uncomment this code for a multisize fluid request.
  // _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
  //                               NSValueFromGADAdSize(kGADAdSizeBanner) ];

  _bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
  _bannerView.rootViewController = self;

  // Make the ad request.
  [_bannerView loadRequest:[GAMRequest request]];
}

Wenn Sie sich ein Beispiel für die Implementierung der Ad Manager-Anzeigengröße „Flexibel“ ansehen möchten, laden Sie die iOS API Demo App in Swift oder Objective-C herunter.

API-Demo herunterladen

GADAdSizeDelegate-Protokoll

Sie können die Höhe eines Banners wissen, bevor sich seine Größe ändert. Der adView:willChangeAdSizeTo:-Callback benachrichtigt den Bevollmächtigten, bevor die Banneransicht zum neuen GADAdSize wechselt. Ihre Klasse muss dem GADAdSizeDelegate-Protokoll entsprechen, damit Sie benachrichtigt werden, bevor die Banneransicht auf die neue Anzeigengröße umgestellt wird.

Hier sehen Sie eine Beispielimplementierung des adView:willChangeAdSizeTo:-Callbacks, die zeigt, wie Sie die neue Breite und Höhe des Banners abrufen:

Swift

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self

// MARK: - GADAdSizeDelegate

func adView(_ bannerView: GADBannerView, willChangeAdSizeTo adSize: GADAdSize) {
  let height = adSize.size.height
  let width = adSize.size.width
}

Objective-C

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;

#pragma mark - GADAdSizeDelegate

- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
  CGFloat height = adSize.size.height;
  CGFloat width = adSize.size.width;
}