Stili nativi

Impostazioni dello stile nativo consentire a Google Ad Manager di gestire il rendering degli annunci nativi in base gli stili specificati all'interno del prodotto. Innanzitutto, specifica le dimensioni e il targeting. Poi aggiungi HTML, CSS e JavaScript per definire gli annunci adattabili e produrre un display di qualità su tutti gli schermi. Non devi fare nulla del rendering; Ad Manager applica automaticamente lo stile nativo appropriato per la destinazione. Gli stili nativi vengono implementati come gli annunci banner, utilizzando un GAMBannerView. Possono essere utilizzate con un annuncio fisso determinate in anticipo o dimensioni flessibili di un annuncio determinate in fase di esecuzione.

Prerequisiti

  • SDK Google Mobile Ads versione 7.14.0 o successive

Questa guida presuppone una certa conoscenza dell'utilizzo dell'SDK Google Mobile Ads. Se non l'hai ancora fatto, ti consigliamo di consultare i nostri Guida introduttiva.

Dimensioni fisse

Gli stili nativi con dimensioni fisse consentono di controllare la larghezza e l'altezza dell'annuncio nativo. Per impostare una dimensione fissa:

  1. Crea un elemento pubblicitario nell'interfaccia utente di Ad Manager e seleziona una delle dimensioni predefinite dal menu a discesa del campo Size.

  2. In Interface Builder, imposta la larghezza e l'altezza dell'elemento GAMBannerView in base alla dimensione predefinita selezionata nel passaggio 1. Puoi vedere elenco di dimensioni e le corrispondenti costanti GADAdSize nel banner dimensioni .

L'implementazione di stili nativi con dimensioni fisse è semplice quanto segue le istruzioni in Il tuo primo banner richiesta, ma ottieni la flessibilità e il controllo sui linguaggi HTML, CSS e JavaScript per conferire all'annuncio banner un aspetto nativo naturale nella tua app.

Dimensioni flessibili

In alcuni casi, una dimensione fissa potrebbe non avere senso. Ad esempio, potresti Vuoi che la larghezza dell'annuncio corrisponda ai contenuti dell'app, ma deve esserne l'altezza per adattarsi in modo dinamico ai contenuti dell'annuncio. Per gestire questo caso, puoi specificare Fluid come dimensione dell'annuncio nell'interfaccia utente di Ad Manager, indica che le dimensioni dell'annuncio vengono determinate in fase di esecuzione nell'app. L'SDK fornisce una costante GADAdSize speciale, kGADAdSizeFluid, per gestire questo caso. L'altezza delle dimensioni degli annunci flessibili è determinata in modo dinamico in base alla larghezza definita dal publisher, consentendo GAMBannerView, per regolarne l'altezza in modo che corrisponda a quella della creatività.

Richiesta di fluido

A differenza degli altri formati dell'annuncio, la dimensione dell'annuncio kGADAdSizeFluid non presenta una larghezza predefinita, quindi assicurati di impostare in modo esplicito il frame del banner nel codice o in Interface Builder. Se non viene specificata una larghezza, l'SDK imposta per impostazione predefinita l'altezza del banner in base alle della larghezza del dispositivo.

Se effettui una richiesta per più dimensioni che include kGADAdSizeFluid, l'annuncio restituito sia sempre posizionato all'interno di un contenitore fluido si comportano come un annuncio fluido. Nel caso in cui una creatività non fluida venga restituiti in questo contenitore fluido, l'SDK centra l'annuncio del container in modo da non dover modificare il vincolo ogni volta che viene restituito un nuovo annuncio.

L'implementazione per creare una dimensione singola e una dimensione flessibile di più dimensioni è molto simile: l'unica differenza è che per un modello multidimensionale richiesta, imposti la proprietà validAdSizes per specificare l'annuncio dimensioni valide per la richiesta di annuncio:

Swift

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

Objective-C

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

Ecco come si presenta l'implementazione completa nel codice:

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

Per vedere un esempio di implementazione delle dimensioni degli annunci flessibili di Ad Manager, scarica l'app demo API per iOS in Swift o Objective-C.

Scarica la demo dell'API

Protocollo GADAdSizeDelegate

Ti consigliamo di conoscere l'altezza di un banner prima che le dimensioni del relativo annuncio cambino. Il callback adView:willChangeAdSizeTo: invia una notifica al delegato prima la visualizzazione banner diventa la nuova GADAdSize. Per ricevere una notifica prima del giorno la visualizzazione del banner cambia in base alle nuove dimensioni dell'annuncio, la classe deve essere conforme a il protocollo GADAdSizeDelegate.

Ecco un'implementazione di esempio dell'adView:willChangeAdSizeTo: che mostra come ottenere la nuova larghezza e altezza del banner:

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