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:
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
.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 constantesGADAdSize
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.
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;
}