Añade iAd en tu aplicación de forma sencilla

Después de un tiempo de inactividad (si es que alguna vez la hubo), voy a explicar como añadir iAd en una aplicación en unos sencillos pasos. Para quien no lo sepa, iAd es la plataforma publicitaria que apple presentó junto con la versión 4 de iOS. La novedad de iAd con respecto a otras plataformas como adMob (google), es la posibilidad de crear anuncios publicitarios sin necesidad de abandonar la aplicación. El funcionamiento es el siguiente, la aplicación carga la publicidad en el banner que el desarrollador de turno ha colocado en su aplicación, al tocar el banner, aparece una vista sobre nuestra aplicación, esta contiene la publicidad a pantalla completa. Aquí entra la novedad más importante para los anunciantes, la posibilidad de crear la publicidad a pantalla completa y además interactiva, utilizando tecnologías como javascript, CSS3 y HTML5.

Soltado el rollo, entremos en materia:

– Primero creamos un nuevo proyecto “View-based Application”.

– Añadimos al proyecto el framework iAd.framework.

– Ahora vamos al .h de nuestra clase principal, hacemos el import del framework e indicamos que vamos a implementar el protocolo ADBannerViewDelegate:

1
2
3
4
5
6
7
8
9
10
#import <UIKit/UIKit.h>;
#import <iAd/iAd.h>;
@interface iAdViewController : UIViewController <ADBannerViewDelegate>
{
      ADBannerView *adBanner;
      BOOL bannerIsVisible;
}
@property (nonatomic,assign) BOOL bannerIsVisible;
@end

– Ahora vamos al .m, descomentamos el metodo viewDidLoad y añadimos lo siguiente:

1
2
3
4
5
6
7
8
9
10
- (void)viewDidLoad {
      adBanner= [[ADBannerView alloc] initWithFrame:CGRectZero];
      adBanner.frame = CGRectOffset(adView.frame, 0, -50);
      adBanner.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
      adBanner.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
      [self.view addSubview:adBanner];
      adBanner.delegate=self;
      self.bannerIsVisible=NO;
      [super viewDidLoad];
}

– En este punto el banner esta añadido 50 pixeles por encima de la pantalla. Haciendo uso del protocolo ADBannerViewDelegate capturaremos el momento en el que el banner carga la publicidad y en ese momento animaremos el banner para que baje 50px y sea perfectamente visible. Para ello implementamos los metodos bannerViewDidLoadAd (el banner se carga con exito) y didFailToReceiveAdWithError (cuando hay algún problema). Añadimos el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
 if (!self.bannerIsVisible)
 {
  [UIView beginAnimations:@"animateAdBannerOn" context:NULL];
// movemos el banner 50px hacia abajo
  banner.frame = CGRectOffset(banner.frame, 0, 50);
  [UIView commitAnimations];
  self.bannerIsVisible = YES;
 }
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
if (self.bannerIsVisible)
 {
  [UIView beginAnimations:@"animateAdBannerOff" context:NULL];
// movemos el banner 50 px hacia arriba
  banner.frame = CGRectOffset(banner.frame, 0, -50);
  [UIView commitAnimations];
  self.bannerIsVisible = NO;
 }
}

Eso es todo con lo visto en este tutorial deberiamos poder ver un banner de prueba en nuestro View.

Es importante que coloquemos nuestro banner arriba o abajo y fuera de elementos que tengan scroll, para que el banner esté visible el mayor tiempo posible.

http://www.werkham.com/2011/02/anade-iad-en-tu-aplicacion/