Tengo un iAd que aparece bien cuando está conectado a la red. En el simulador de iOS o las pruebas en mi dispositivo, si abro mi aplicación, veo el iAd, luego voy a la configuración y activo el modo avión, y regreso a la aplicación, el banner se desliza fuera de la pantalla. Estupendo. Ahora, si apago el modo avión (la red está encendida), el iAd no reaparece, incluso después de esperar entre 10 y 15 minutos.iAd actualización después de la desconexión de red
lo tanto, aquí están mis preguntas:
la Prueba de Publicidad iAd ¿Se refrescar sí mismo como un verdadero iAd haría (cada minuto o así)?
¿Hay alguna manera de forzar que el iAd se actualice y solicite un nuevo anuncio cuando se detecta la red?
No puedo encontrar información sobre el comportamiento de los anuncios de prueba en cualquier lugar, y no puedo probar con anuncios reales hasta que subo la aplicación a la App Store (¿verdad?)
Heres mi código:
Cuando se crea el iAd:
- (void)viewDidLoad
{
adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 410, 320, 50)];
adView.frame = CGRectOffset(adView.frame, 0, 50);
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
[self.view addSubview:adView];
adView.delegate=self;
self.bannerIsVisible=NO;
[super viewDidLoad];
}
y el delegado métodos:
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
NSLog(@"AdWin");
if (!self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0, -50);
[UIView commitAnimations];
self.bannerIsVisible = YES;
}
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
NSLog(@"AdLose");
if (self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0, 50);
[UIView commitAnimations];
self.bannerIsVisible = NO;
}
}
Las llamadas al método delegado NSLog
solo aparecen una vez, no cada minuto, como era de esperar si el anuncio se actualizara.
Gracias por las sugerencias. Lo que me desconcierta es que empiezo la aplicación (usando xCode) en mi iPhone con una conexión interent y obtengo mi registro "AdWin" cada 60 segundos, como era de esperar. Si inicio la aplicación de la misma manera, excepto con el Modo Avión activado, obtengo el "AdLose" en mi registro exactamente una vez. Hubiera esperado que fallara cada 60 segundos. El error que da es: 'Error Domain = ADErrorDomain Code = 1" La operación no pudo completarse. (ADErrorDomain error 1.) "' –
También estoy atascado en ese momento, la clave que creo que recibes un ADError donde en mis pruebas recibo un error NSURL y aparentemente el error NSURL es manejado correctamente. Yo sugeriría que se incluyera una lógica como: cuando el error es y ADErrorxxx mata el banner y comienza todo de nuevo (es decir, release + realloc como en viewDidLoad). – gregory
Voy a marcar esto como la respuesta aceptada, porque fue la más útil. Estoy satisfecho de que el mío funcionará porque descargué el programa de ejemplo de Apple 'iAdSuite', y encontré que daba el mismo error en las mismas condiciones. Gracias –