Native Designs angeben

Mit den Einstellungen für natives Design kann Google Ad Manager das Rendering Ihrer nativen Anzeigen basierend auf den nativen Designs verarbeiten, die Sie im Produkt angeben. Geben Sie zuerst die Größe und das Targeting an. Fügen Sie dann HTML, CSS und JavaScript hinzu, um responsive Anzeigen zu definieren, die auf allen Bildschirmen in hoher Qualität dargestellt werden. Sie müssen kein Rendering durchführen. Ad Manager wendet automatisch das richtige native Design für das Ziel an. Native Designs werden 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, die zur Laufzeit bestimmt wird, verwendet werden.

Vorbereitung

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

In diesem Leitfaden werden Grundkenntnisse über Google Mobile Ads SDK vorausgesetzt. Wenn Sie es noch nicht getan haben, sollten Sie sich unseren Startleitfaden ansehen.

Feste Größe

Mit nativen Designs mit fester Größe können Sie die Breite und Höhe der nativen Anzeige festlegen.

So legen Sie eine feste Größe fest:

Legen Sie eine Anzeigengröße fest, die kleiner oder gleich der Bildschirmgröße des Geräts ist. Verwenden Sie die Property UIWindowScene.effectiveGeometry.coordinateSpace, um die maximale Bildschirmgröße unter iOS 26 und höher zu ermitteln. Verwenden Sie unter iOS 18 und niedriger das Attribut UIWindowScene.coordinateSpace. Weitere Informationen zu Größenbeschränkungen finden Sie unter Fehlerbehebung bei nicht erzielten Impressionen in Ad Manager.

  1. Erstellen Sie eine Werbebuchung in der Ad Manager-Benutzeroberfläche 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 der GAMBannerView so fest, dass sie der vordefinierten Größe entsprechen, die Sie in Schritt 1 ausgewählt haben. Eine Liste der Größen und der entsprechenden GADAdSize-Konstanten finden Sie im Abschnitt Bannergröße.

Die Implementierung nativer Designs mit einer festen Größe ist so einfach wie die Anleitung unter Ihre erste Banneranfrage. Sie erhalten jedoch die Flexibilität und Kontrolle über HTML, CSS und JavaScript, um Ihrer Banneranzeige ein natives Design zu verleihen, das sich natürlich in Ihre App einfügt.

Größe „Flexibel“

In einigen Fällen ist eine feste Größe möglicherweise nicht sinnvoll. Beispielsweise soll die Breite der Anzeige mit dem Inhalt Ihrer App übereinstimmen, die Höhe muss sich jedoch dynamisch an den Inhalt der Anzeige anpassen. In diesem Fall können Sie in 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 bietet eine spezielle GADAdSize-Konstante, kGADAdSizeFluid, um diesen Fall zu verarbeiten. Die Höhe der flexiblen Anzeigengröße wird dynamisch anhand der vom Publisher definierten Breite bestimmt. So kann die GAMBannerView ihre Höhe an die des Creatives anpassen.

Anfrage zu Flüssigkeiten

Im Gegensatz zu anderen Anzeigenformaten hat die Anzeigengröße kGADAdSizeFluid keine vordefinierte Breite. Sie müssen die Rahmenbreite des Banners also explizit im Code oder im Interface Builder festlegen. Wenn keine Breite angegeben ist, legt das SDK die Höhe des Banners standardmäßig anhand der vollen Breite des Geräts fest.

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

Die Implementierung für eine Anfrage mit einer einzelnen Größe und eine Anfrage mit mehreren Größen ist sehr ähnlich. Der einzige Unterschied besteht darin, dass Sie bei einer Anfrage mit mehreren Größen das Attribut validAdSizes festlegen, um die für die Anzeigenanfrage gültigen Anzeigengrößen anzugeben:

Swift

bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]

Objective-C

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

So sieht die vollständige Implementierung im Code aus:

Swift

var bannerView: AdManagerBannerView!

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 = AdManagerBannerView(adSize: AdSizeFluid)
  var frameRect = bannerView.frame
  frameRect.size.width = view.bounds.width
  bannerView.frame = frameRect

  // Uncomment this code for a multisize fluid request.
  // bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]

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

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

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]];
}

Eine Beispielimplementierung der flexiblen Anzeigengröße von Ad Manager finden Sie in der iOS API-Demo-App in Swift oder Objective-C.

API-Demo herunterladen

GADAdSizeDelegate-Protokoll

Möglicherweise möchten Sie die Höhe eines Banners kennen, bevor sich die Anzeigengröße ändert. Der Callback adView:willChangeAdSizeTo: benachrichtigt den Delegaten, bevor die Banneransicht in die neue GADAdSize geändert wird. Wenn Sie benachrichtigt werden möchten, bevor die Banneransicht zur neuen Anzeigengröße wechselt, muss Ihre Klasse dem Protokoll GADAdSizeDelegate entsprechen.

Hier ist 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: BannerView, willChangeAdSizeTo adSize: AdSize) {
  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;
}