Come implementare le Notifiche Push tramite EasyAPNS

Se sei uno sviluppatore di applicazioni iOS native, avrai sicuramente sentito parlare del servizio di Push Notification di Apple (APN). Le notifiche push possono essere implementate anche su app sviluppate con Phonegap, senza particolari problematiche dal punto di vista della conoscenza del codice nativo Objective-C.

In questo articolo vi parlerò di EasyAPNS, ovvero una raccolta di script in Objective-C, Php e MySQL che agevolerà di molto il vostro compito di inserire la funzionalità delle notifiche push nelle vostre app.

Il codice proposto in questo articolo è tratto dal sito ufficiale di EasyAPNS, con l’aggiunta di alcune modifiche da me effettuate per poter ottimizzare l’ottimo servizio offerto da questo strumento.

Per integrare in una app le notifiche push è necessario seguire i seguenti passaggi:

  1. Integrazione nel codice nativo Objective-C delle istruzioni per la registrazione e notifica delle notifiche push
  2. Implementazione gestione notifiche lato server (php / MySql)
  3. Creazione dei certificati SSL per la comunicazione Own Server – Apple Server
  4. Invio notifiche push

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.

web & mobile developing