Come aggiungere iAd in applicazioni PhoneGap (Cordova)

Per integrare nelle vostre applicazioni PhoneGap (Cordova) la rete di advertising di Apple iAd per guadagnare con pubblicità inserita nelle app, occorre necessariamente utilizzare l’approccio “nativo” e quindi sporcarsi le mani con Objective-C.

In questo articolo vi illustrerò i 4 semplici passaggi necessari per integrare in modo rapido iAd nella vostra applicazione.
(i passaggi elencati di seguito sono tratti da questo articolo: http://www.sitekickr.com/blog/phonegap-cordova-iad-integration/)

  1. Cliccate sulla voce più in alto dell’albero corrispondente al nome del vostro progetto e successivamente sul target come mostrato in figura.Dall’elenco dei framework utilizzati (Linked Frameworks and Libraries) cliccate sul tastino + e successivamente cerca la stringa iAd, selezionate il framework e cliccate su Add come mostrato in figura.
  2. Nella directory <nome_progetto>/Resources/Classes aprite il file MainViewController.h e inserite il seguente codice:
    #import <iAd/iAd.h>
    
    @interface MainViewController : CDVViewController {
          ADBannerView *adView;
    }
  3. Successivamente, nella stessa cartella, aprite il file MainViewController.m e aggiungete al metodo webViewDidFinishLoad il seguente codice:
    adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
    
    if([UIApplication sharedApplication].statusBarOrientation == 
        UIInterfaceOrientationPortrait ||
       [UIApplication sharedApplication].statusBarOrientation ==
        UIInterfaceOrientationPortraitUpsideDown) {
      adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
    }
    else {
      adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
    }
    
    adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
    CGRect adFrame = adView.frame;
    adFrame.origin.y = self.view.frame.size.height-adView.frame.size.height;
    adView.frame = adFrame;
    [self.view addSubview:adView];
  4. Se non è già presente nello stesso file MainViewController.m il metodo willAnimateRotationToInterfaceOrientation e se la vostra app supporterà oltre alla visualizzazione portrait anche la visualizzazione landscape, aggiungetelo con il seguente codice:
    - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)newInterfaceOrientation duration:(NSTimeInterval)duration {
    
      BOOL hide = (newInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || newInterfaceOrientation == UIInterfaceOrientationLandscapeRight);
      [[UIApplication sharedApplication] setStatusBarHidden:hide withAnimation:UIStatusBarAnimationNone];
      CGRect mainFrame = [[UIScreen mainScreen] applicationFrame];
      [self.view setFrame:mainFrame];
    
      if (newInterfaceOrientation != UIInterfaceOrientationLandscapeLeft && newInterfaceOrientation != UIInterfaceOrientationLandscapeRight) {
    
        adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
        [self.view bringSubviewToFront:adView];
        adView.frame = CGRectMake(0.0, self.view.frame.size.height - adView.frame.size.height, adView.frame.size.width, adView.frame.size.height);
    
      }
    
      else {
    
       adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
       [self.view bringSubviewToFront:adView];
       adView.frame = CGRectMake(0.0, self.view.frame.size.width - adView.frame.size.height, adView.frame.size.width, adView.frame.size.height);
    
       }
    
    }

Seguendo questi semplici passaggi, la vostra applicazione PhoneGap integrerà i banner pubblicitari della rete iAd di Apple.
Per integrare iAd nell’app TrovaBanche ho eseguito queste operazioni e ha funzionato al primo colpo.

Buon divertimento.