Recepción de eventos de estado de vista de anuncios en iOS
Esta página contiene instrucciones sobre cómo recibir eventos de estado de vista de anuncios desde nuestro SDK. Puedes usar estos eventos para determinar desde la aplicación cuándo se ha hecho clic en un anuncio, si está en un estado expandido y mucho más.
Para recibir eventos de estado durante el ciclo de vida de la vista de anuncios, debe implementar el ANAdDelegate
protocolo. Sus métodos son:
-
(void)adDidReceiveAd:(id)ad;
: se envía cuando el contenido del anuncio de banner o vídeo se ha recuperado correctamente del servidor. -
(void)ad:(id)loadInstance didReceiveNativeAd:(id)nativeAdResponse;
: se envía cuando el contenido del anuncio nativo se ha recuperado correctamente del servidor. -
(void)ad:(id)ad requestFailedWithError:(NSError *)error
: se envía cuando se produce un error en la solicitud de anuncio al servidor. -
(void)adWasClicked:(id)ad
: se envía cuando el usuario hace clic en el anuncio. -
(void)adWasClicked:(id)ad withURL:(NSString *)urlString
: se envía cuando el usuario hace clic en el anuncio y le permite determinar cómo se controlará el valor de laclick_url
cadena en la respuesta de la puja. -
(void)adWillClose:(id)ad
: se envía cuando la vista de anuncios está a punto de cerrarse. -
(void)adDidClose:(id)ad
: se envía cuando la vista de anuncios ha terminado de cerrarse. -
(void)adWillPresent:(id)ad
: se envía cuando se hace clic en el anuncio y el SDK está a punto de abrirse dentro del explorador del SDK (un WebView). Si prefiere que los clics de anuncios abran el explorador nativo en su lugar, establezca enopensInNativeBrowser
true
. -
(void)adDidPresent:(id)ad
: se envía cuando el anuncio ha terminado de verse mediante el explorador en SDK. -
(void)adWillLeaveApplication:(id)ad
: se envía cuando el anuncio está a punto de salir de la aplicación; esto puede ocurrir si haopensInNativeBrowser
establecido entrue
, por ejemplo. -
(void)adDidLogImpression:(nonnull id)ad
: se envía cuando se observa una impresión de anuncio durante un banner o un evento de anuncio intersticial.
En el ejemplo siguiente se implementa este protocolo:
#import "FunViewController.h"
#import "ANInterstitialAd.h"
@interface FunViewController () <ANInterstitialAdDelegate>
@property (nonatomic, strong)ANInterstitialAd *inter;
@end
@implementation FunViewController : UIViewController
- (void)viewDidLoad {
self.inter = [[ANInterstitialAd alloc] initWithPlacementId:@"1326299"];
// set ourselves as the delegate so we can respond to the required adDidReceiveAd
// message of the `ANAdDelegate protocol' (see implementation below)
self.inter.delegate = self;
// Load an ad!
[self.inter loadAd];
}
- (void)adDidReceiveAd:(id)ad {
[self.inter displayAdFromViewController:self];
}
- (void)adDidLogImpression:(id)ad {
NSLog(@"This ad is log the impression.");
}
- (void)adFailedToDisplay:(ANInterstitialAd *)ad {
NSLog(@"Uh oh, the ad failed to display!");
}
- (void)adWasClicked:(ANInterstitialAd *)ad {
NSLog(@"Sweet, the ad was clicked!");
}
- (void)adWillClose:(ANInterstitialAd *)ad {
NSLog(@"This ad is about to close.");
}
- (void)adDidClose:(ANInterstitialAd *)ad {
NSLog(@"The ad just closed.");
}
- (void)adWillPresent:(ANInterstitialAd *)ad {
NSLog(@"About to open an in-SDK WebView.");
}
- (void)adDidPresent:(ANInterstitialAd *)ad {
NSLog(@"User finished viewing ad in in-SDK WebView.");
}
- (void)adWillLeaveApplication:(ANInterstitialAd *)ad {
NSLog(@"About to leave this app (maybe opening an external browser?).");
}
@end