El SDK de anuncios de Google para dispositivos móviles también admite estilos del anuncio de búsqueda personalizados. Si su aplicación ya utiliza el SDK de anuncios de Google para dispositivos móviles, le recomendamos Versión del SDK de AFSMA en su lugar.
Requisitos previos
- Usa Xcode 8.0 o una versión posterior
- Orientación a iOS 8.0 o versiones posteriores
- Un código de propiedad web del publicador válido (p.ej., vert-ppa-test1-srp)
- CocoaPods
Importa el SDK nativo de AFS
CocoaPods
Importa el Google-AFSNative SDK a un proyecto de iOS con CocoaPods. Abre el archivo Podfile y agrega esta línea al destino de tu app:
pod 'Google-AFSNative'
Luego, desde la línea de comandos, ejecuta lo siguiente:
pod install --repo-update
Si eres nuevo en CocoaPods, consulta su documentación oficial para obtener información sobre cómo crear y usar Podfiles.
Descripción general
Si estás actualizando a la versión 4.0 o a una posterior desde la versión 2.0.8 o una anterior, consulta nuestra guía de migración.
En este documento, se describe el proceso para integrar anuncios nativos de AFS en tu app para dispositivos móviles iOS.
- El constructor
GANSearchAdController
debe contar con la el código de propiedad web del publicador, el ID de configuración deseadoGANSearchAdControllerOptions
. - Cada llamada a
loadAds()
indica una nueva búsqueda y hará que el estado conjunto de anuncios que se descartarán y se invalidarán. - Las creatividades de anuncios se almacenan en
GANAdView
. - Los anuncios se insertan en el
GANAdView
del anuncio con el métodopopulateAdView
. En Además deGANAdView
, que se debe propagar, el llamador proporciona unadIdentifier
, que es una cadena arbitraria que debería identificar el anuncio de forma única. Dentro de la API, se asigna un anuncio específico a cada adIdentifier que se pasa. en el que te etiquetaron. Así, cada vez que se vuelva a pasar esa adKey en el futuro, se transmitirá el mismo anuncio que se devuelven. Por ejemplo, si se llama apopulateAdView
por primera vez con adIdentifier "keyA", cada llamada posterior apopulateAdView
durante la transferencia “keyA” como eladIdentifier
, se mostrará el mismo anuncio.
- Esta es la UIView que contiene la creatividad del anuncio.
- Rellena esta vista con un anuncio usando el método
populateAdView
de laGANSearchAdController
- Pasa este objeto al constructor
GANSearchAdController
para especificar la el comportamiento de los usuarios respecto de cómo se solicitan y muestran los anuncios.
- Llama al método
loadAds
en la instanciaGANSearchAdController
con lo siguiente: objeto para realizar una solicitud de anuncio.
- Implementa esta interfaz y proporciónala al
GANSearchAdController
para registrar devoluciones de llamada para varios estados.
Ejemplo de implementación
En el siguiente ejemplo, se muestra cómo crear un GANSearchAdController
y un GANView
para mostrar un anuncio en un ViewController
de muestra.
// SampleAppViewController.m implementation
#import <AFSNative/AFSNative.h>
@interface GBannerViewController () {
// The Ad Controller used by the sample application.
GANSearchAdController *_adController;
// The Ad View to display the loaded ad.
GANAdView *_adView;
}
// scrollView will be where we place our ads in this example.
@property(nonatomic, strong) UIScrollView *scrollView;
@end
...
- (void)viewDidLoad {
[super viewDidLoad];
// Create the scroll view.
...
[self.view addSubview:scrollView];
// Create a test button and link the ad request to its action.
UIButton *loadBannerButton = [UIButton buttonWithType:UIButtonTypeCustom];
...
[loadBannerButton addTarget:self
action:@selector(loadAd:)
forControlEvents:UIControlEventTouchUpInside];
[self.scrollView addSubview:loadBannerButton];
// Construct the Ad Controller.
GANSearchAdControllerOptions *options = [[GANSearchAdControllerOptions alloc] init];
options.prefetchEnabled = YES;
options.adType = GANSearchAdTypeSPA;
options.adFetchCount = 3;
_adController = [[GANSearchAdController alloc]
initWithPublisherID: @"your-client-id"
styleID: @"your-settings-id"
options: options
delegate: self];
_adView = [_adController adView];
[self.scrollView addSubview:_adView];
}
// Request ads when the test button is pressed.
- (void)loadAd:(id)sender {
// Construct the Ad Request.
GANSearchAdRequest *adRequest = [[GANSearchAdRequest alloc] init];
adRequest.query = @"some-query";
// Start loading ads. Note that the loading is asynchronous.
[_adController loadAds: adRequest];
}
// Insert ads into GANAdView if the request returns successfully.
- (void)searchAdController:(GANSearchAdController *)adController
didLoadAds:(NSInteger)numberOfAds {
if (numberOfAds <= 0) {
NSLog(@"No ads found on the server");
} else {
[_adController populateAdView:_adView identifier:@"demoAd"];
}
}
...