Requisitos previos
En esta guía de implementación, se supone que estás familiarizado con los siguientes elementos:
- Desarrollo de apps para iOS.
- Asociar el SDK de anuncios de Google para dispositivos móviles a un proyecto de iOS Descarga la versión más reciente del SDK.
Descripción general
En este documento, se describe el proceso de integración de AFS para anuncios en aplicaciones para dispositivos móviles (AFSMA) en tu app para dispositivos móviles iOS. A veces, los anuncios AFSMA también se denominan dinámicos. anuncios de búsqueda de altura. Para solicitar y renderizar anuncios de AFSMA en iOS, deberás hacer lo siguiente: implementa lo siguiente:
- Esta clase se hereda de la clase UIView de iOS y muestra los anuncios de AFSMA. El
GADSearchBannerView
realiza la solicitud de un anuncio con unaGADDynamicHeightSearchRequest
y renderiza los anuncios que se muestran. El Se debe agregarGADSearchBannerView
a cualquiera de las vistas existentes de la app. por lo general, es el controlador de vista superior Se agregóGADSearchBannerView
. Se deben establecer los delegados adecuados enGADSearchBannerView
- Se debe crear una instancia de
GADSearchBannerView
coninitWithAdSize:kGADAdSizeFluid
para solicitar anuncios de AFSMA. Creando una instanciaGADSearchBannerView
coninitWithAdSize:kGADAdSizeBanner
solicita AFSMA heredada anuncios. - La propiedad
adUnitID
de este objeto debe establecerse con el código de tu propiedad.
- Este objeto encapsula los parámetros de la solicitud de anuncio. Esto es similar a parámetros de configuración en los objetos de solicitud de anuncio de JavaScript (opciones de página, unidades de AFS) para computadoras de escritorio y la Web móvil de AFS.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- Se llama a esta devolución de llamada cuando se muestra la solicitud de anuncio. Desde que el anuncio devuelto
podría contener varios anuncios con diferentes extensiones, el tamaño exacto
de la unidad de anuncios se desconoce cuando se realiza la solicitud de anuncios. Una vez que el anuncio
de muestra, la vista del banner debe actualizarse para adaptarse al nuevo tamaño del
la unidad de anuncios. El código para cambiar el tamaño de
GADSearchBannerView
en su vista superior debe implementarse aquí.
Ejemplo de implementación
En el siguiente ejemplo, se muestra cómo usar un GBannerViewController
para crear un
GADSearchBannerView
como una subvista de un UIScrollView
. Solicitar AFSMA de forma adecuada
anuncios, se debe crear una instancia del objeto GADSearchBannerView
con
initWithAdSize:kGADAdSizeFluid
// GBannerViewController.m implementation
@interface GBannerViewController () <GADAdSizeDelegate,
GADBannerViewDelegate>
@property(nonatomic, strong) GADSearchBannerView *searchBannerView;
@property(nonatomic, strong) UIScrollView *scrollView;
@end
@implementation GBannerViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Create the scroll view.
....
....
// Create the banner.
self.searchBannerView = [[GADSearchBannerView alloc] initWithAdSize:kGADAdSizeFluid];
// Replace with your pub ID (e.g. ms-app-pub-9616389000213823).
self.searchBannerView.adUnitID = @"ms-app-pub-################";
// Set the initial location and size of the banner. The initial height
// is set to 0 since we might not get an ad back.
self.searchBannerView.frame = CGRectMake(0,
0,
CGRectGetWidth(self.view.bounds),
0);
self.searchBannerView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
// Set the delegate properties.
self.searchBannerView.adSizeDelegate = self;
self.searchBannerView.delegate = self;
// Add the new search banner into the parent scrollView.
[self.scrollView addSubview:self.searchBannerView];
}
Dentro del mismo GBannerViewController
, crea un GADDynamicHeightSearchRequest
.
que determina los parámetros del anuncio que se renderizará en el GADSearchView
.
// Create a search request and load the banner. GADDynamicHeightSearchRequest *searchRequest = [[GADDynamicHeightSearchRequest alloc] init]; // Ad request options (set using GADDynamicHeightSearchRequest properties). searchRequest.query = @"flowers"; searchRequest.numberOfAds = 2; // Replace with the ID of a style from your custom search styles [searchRequest setAdvancedOptionValue:@"0000000001" forKey:@"styleId"];
Otras opciones de personalización
posibles si configuras propiedades adicionales en el GADDynamicHeightSearchRequest
.
Para realizar una solicitud de anuncio, llama a loadRequest
con el GADDynamicHeightSearchRequest
del objeto GADSearchBannerView
:
[self.searchBannerView loadRequest:searchRequest];
Para que la vista superior se ajuste correctamente a GADSearchBannerView
una vez que
anuncios, se debe implementar la siguiente devolución de llamada.
// Callback to update the parent view height.
- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size {
// Update the banner view based on the ad size.
CGRect newFrame = self.searchBannerView.frame;
newFrame.size.height = size.size.height;
self.searchBannerView.frame = newFrame;
// Perform any additional logic needed due to banner view size change.
...
}
Opciones avanzadas
La mayoría de los parámetros de solicitud de anuncio se pueden configurar con propiedades en la
Objeto GADDynamicHeightSearchRequest
(searchRequest
arriba). Otros parámetros
deberá establecerse usando pares clave-valor con el setAdvancedOptionValue
método:
// Advanced customization options (set using key-value pair).
// Set a parameter (parameter_name) and its value (parameter_value).
[searchRequest setAdvancedOptionValue:@"parameter_value"
forKey:@"parameter_name"];
// Example: Show visible URL below description (domainLinkAboveDescription: false).
[searchRequest setAdvancedOptionValue:@"false"
forKey:@"domainLinkAboveDescription"];
Consulta la lista completa de los parámetros disponibles.
Investiga errores
GADBannerViewDelegate
contiene una devolución de llamada para ayudarte a investigar errores:
- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error {
// This callback is triggered when the ad request fails.
// Add code here to debug the error object to discover causes of failure
NSLog(@"Ad call failed due to %@", error.userInfo[@"NSUnderlyingError"]);
}
Si falla una solicitud de anuncio, puedes usar esta devolución de llamada para manejar correctamente el error. y, luego, investigarás el error a través del objeto de error.