Estilos nativos

Configuración de estilo nativo habiliten Google Ad Manager para controlar la renderización de sus anuncios nativos basados en estilos que especificas en el producto. Primero, especifica el tamaño y la segmentación. Luego, agregue HTML, CSS y JavaScript para definir anuncios que sean responsivos. y producir una pantalla de calidad en todas las pantallas. No es necesario ninguna de las renderizaciones Ad Manager aplica automáticamente el estilo nativo adecuado para el destino. Los estilos nativos se implementan al igual que los anuncios de banner con un GAMBannerView. Se pueden usar con un anuncio fijo. el tamaño del anuncio se determina con anticipación o el tamaño flexible del anuncio se determina durante el tiempo de ejecución.

Requisitos previos

  • SDK de anuncios de Google para dispositivos móviles versión 7.14.0 o posterior

En esta guía, se supone que tienes conocimientos prácticos sobre el SDK de anuncios de Google para dispositivos móviles. Si aún no lo has hecho, considera consultar nuestro Cómo comenzar.

Tamaño fijo

Los estilos nativos con un tamaño fijo le permiten controlar el ancho y la altura del anuncio nativo. Para establecer un tamaño fijo, sigue estos pasos:

  1. Crea una línea de pedido en la IU de Ad Manager y selecciona una de las tamaños predefinidos del menú desplegable del campo Size.

  2. En Interface Builder, establece el ancho y la altura de GAMBannerView. para que coincida con el tamaño predefinido que seleccionaste en el paso 1. Puedes ver un Lista de tamaños y sus constantes GADAdSize correspondientes en el banner tamaño sección.

La implementación de estilos nativos con un tamaño fijo es tan simple como hacer lo siguiente: las instrucciones de la sección Tu primer banner solicitud, pero obtendrá la flexibilidad y el control sobre HTML, CSS y JavaScript para darle a tu anuncio de banner un aspecto nativo que es natural en tu app.

Tamaño flexible

En algunos casos, un tamaño fijo puede no tener sentido. Por ejemplo, podrías desea que el ancho del anuncio coincida con el contenido de su aplicación, pero necesita su altura que se ajusten de manera dinámica al contenido del anuncio. Para manejar este caso, puedes especificar Fluid como el tamaño del anuncio en la IU de Ad Manager, Indica que el tamaño del anuncio se determina durante el tiempo de ejecución en la aplicación. El SDK proporciona una constante GADAdSize especial, kGADAdSizeFluid: para manejar este caso. La altura del tamaño flexible del anuncio se determina de forma dinámica según el ancho definido por el publicador, lo que permite que GAMBannerView: para ajustar su altura de modo que coincida con la de la creatividad.

Solicitud de fluido

A diferencia de otros formatos de anuncio, el tamaño del anuncio kGADAdSizeFluid no tiene un ancho predefinido, así que asegúrate de establecer explícitamente el marco del banner ancho en tu código o en Interface Builder. Si no se especifica un ancho, el SDK establece de forma predeterminada la altura del banner según el tamaño del dispositivo.

Si realizas una solicitud de varios tamaños que incluya kGADAdSizeFluid, ocurrirá lo siguiente: El anuncio que se muestra siempre se coloca dentro de un contenedor fluido comportan como un anuncio fluido. En el caso de que una creatividad no fluida sea que se devuelve en este contenedor fluido, el SDK centra el anuncio en contenedor para que no tengas que modificar la restricción de ancho cada vez que se muestra un anuncio nuevo.

La implementación para hacer que un tamaño único y uno de varios tamaños sean fluidos es muy similar; La única diferencia es que se aplica configura la propiedad validAdSizes para especificar el anuncio tamaños válidos para la solicitud de anuncio:

Swift

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

Objective-C

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

A continuación, se muestra cómo se ve la implementación completa en el código:

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

Para ver un ejemplo de implementación del tamaño de anuncio flexible de Ad Manager, descarga la app iOS API Demo en Swift o en Objective-C.

Descargar demostración de API

Protocolo GADAdSizeDelegate

Es posible que desees conocer la altura de un banner antes de que cambie el tamaño del anuncio. La devolución de llamada adView:willChangeAdSizeTo: notifica a su delegado antes de la vista del banner cambiará a la nueva GADAdSize. Recibir una notificación antes del vista de banner cambia al nuevo tamaño, tu clase debe cumplir con el protocolo GADAdSizeDelegate.

Este es un ejemplo de implementación de adView:willChangeAdSizeTo: que muestra cómo obtener el nuevo ancho y alto 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;
}