Come implementare le notifiche push sulla mia app iOS con Parse Server

Il tutorial qui sotto spiega in dettaglio come farlo usando Parse Server ospitato su www.back4app.com.

Finché il tuo dispositivo iOS rileva il push, non hai bisogno dell'account sviluppatore Apple. Ci sono 4 passi principali per usare Push.

  1. App ID e certificazione SSL: Questo certificato permetterà al server Parse di inviare le notifiche push all'applicazione identificata dall'App ID.
  2. Provisioning profile for this app ID: Autentica il tuo dispositivo per eseguire l'applicazione che stai sviluppando. Se hai creato un nuovo App ID o ne hai modificato uno esistente, dovrai rigenerare il profilo di provisioning e installarlo.
  3. Configura l'app Parse utilizzando il certificato SSL generato: Per utilizzare le notifiche Push con Parse, dovrai abilitare questa funzione nella tua app Parse e caricare il certificato Push SSL che hai creato sopra

Perché non si può fare a meno di analizzare ognuno di essi in dettaglio.

  • App ID e certificazione SSL

Prima di ottenere il certificato SSL è necessario firmare un file di richiesta di firma del certificato. Per fare questo, apri la tua applicazione Keychain. Vai a keychain access e richiedi un certificato dall'autorità di certificazione. Compila le informazioni richieste e scarica il file di richiesta di firma del certificato.

main-qimg-58d942b5787f708dddb687cf3e51dd8b.webp main-qimg-039979ad8c6df9dc9958be181ffb4ddb.webp

Ora, accedi al portale degli sviluppatori Apple. Andate su iOS provisioning portal. Seleziona App ID dal menu.

main-qimg-3c936db373ce55c904962b864b9ec649.webp

Se hai già configurato un App ID per la tua app, controlla due volte che sia stato impostato come Explicit App ID. Gli App ID jolly non possono supportare le notifiche push e sono facili da identificare: l'ultimo carattere nell'identificatore del bundle è un asterisco (*). I Wildcard App ID non possono essere convertiti in Explicit App ID, ma impostare un nuovo App ID per la tua app è abbastanza semplice.

Seleziona il pulsante nuovo App ID. Compila il modulo con tutti i dettagli. Clicca su submit.

main-qimg-98ebfc1e4345555b1c557a244f65f091.webp

Troverai il tuo App ID nella lista e c'è un'opzione per configurarlo. Troverai il certificato SSL che stai cercando.

Se stai ancora sviluppando la tua app, puoi scegliere Development Push SSL Certificate, altrimenti se sei pronto per il lancio scegli Production Push SSL Certificate.

main-qimg-904366b0d4adda2de6138af90c7e0e01.webp

Nel passo successivo seleziona il file .cert che abbiamo creato prima. Genera e scarica il certificato SSL.

main-qimg-8efd75e606b03c867eb09532428dbba0.webp main-qimg-7ba1aa6a8ec13145ad5496d4aa8e964b.webp

Doppio click sul certificato SSL per installarlo. Lo troverai nella tua lista di certificati. Puoi cliccare con il tasto destro del mouse sul certificato SSL Apple e salvarlo come file P12.

main-qimg-1500562c6af3d33916ec26c854a627a5.webp

Non inserire una password di esportazione quando richiesto! Lascia entrambi i campi vuoti e clicca su OK.

main-qimg-87cd31f539192cd3bdac49ab8094b5ac.webp

  • Profilo di provisioning per questo ID app

Ritorna al portale di sviluppo Apple per il profilo di provisioning. È possibile utilizzare un App ID esistente e un profilo di provisioning esistente. Ma è necessario rigenerarlo e reinstallarlo. Se vuoi crearne uno nuovo, seleziona nuovo profilo.

main-qimg-c100ac9189ae71bfaee55f92649e3d21.webp

Compila tutte le informazioni e seleziona il tuo certificato SSL, l'ID dell'app e il dispositivo con cui farai il test. Invia per creare il nuovo profilo.

main-qimg-9cd1f7fa6b94e2967fbb5e6a179fc1b4.webp

Scarica il profilo che hai creato e fai doppio clic su di esso per installarlo sul tuo computer. L'utility del tuo iPhone ti chiederà di aggiungere il nuovo profilo. Fallo e chiudi quell'app.

main-qimg-bb10930d82bab593f5f8092b14359fe7.webp

  • Configura l'app Parse usando il certificato SSL generato

Per iniziare a usare la funzione Push devi informare la back{4}app. Per farlo, vai alla tua app nel dashboard. Vai alla scheda impostazioni. Sotto questo hai le impostazioni delle notifiche Push di iOS. Seleziona il tuo certificato .p12 che hai generato. Clicca su sviluppo o produzione come appropriato. Se vuoi che sia l'app stessa ad avviare il push clicca su yes sotto Client push enabled.

Inizia configurando la tua applicazione Xcode's project settings. Dovremo assicurarci che sia l'App ID che il profilo di provisioning siano configurati correttamente.

Seleziona il tuo progetto nel navigatore di progetto, poi seleziona la destinazione della tua applicazione nella finestra principale dell'editor. Assicurati che "General" sia selezionato in alto.

main-qimg-66870ac19da940b481f49e0950d70484.webp

Modifica il campo Bundle Identifier sotto Identity per abbinare il tuo App ID's Bundle Identifier (es. com.example.MyParsePushApp). Xcode potrebbe avvisarti a questo punto se non hai configurato correttamente il tuo profilo di provisioning.

main-qimg-be7e471ddac6578f5649af3d64ee9a5e.webp

Clicca su "Capabilities" e attiva Push Notifications. Di nuovo, Xcode ti farà sapere se ci sono problemi che richiedono la tua attenzione. Cliccate su "Build Settings" e trovate il campo "Code Signing Identity". Questo campo dovrebbe essere impostato su "iOS Developer" se stai testando contro lo sviluppo, o "iOS Distribution" se stai testando in produzione o costruendo la tua app per l'App Store.

Assicurati che il certificato di provisioning sia configurato correttamente nella tua app. Poi ecco come puoi configurare la notifica Push.

Queste sono le modifiche che devi fare nel delegato dell'app per ricevere le notifiche push.

Chiamare il metodo registerForRemoteNotifications per registrare il dispositivo corrente per il push.

Se la registrazione ha successo, il metodo callback application:didRegisterForRemoteNotificationsWithDeviceToken dovrebbe essere implementato. Questo metodo viene chiamato dopo che il dispositivo è stato registrato con successo.

Per notificare il Push, chiama il metodo storeDeviceToken sull'oggetto PFPush.

Poi sottoscrivi l'utente al canale broadcast usando il metodo subscribeToChannelInBackground con una stringa vuota.

Se il dispositivo non riesce a registrarsi puoi chiamare il metodo didFailToRegisterForRemoteNotificationWithError per comunicare l'errore. Stampa un messaggio di errore appropriato. Questo viene visualizzato se l'applicazione è in esecuzione in primo piano.

Ma se è in esecuzione in background possiamo gestirlo usando l'applicazione didReceiveRemoteNotification. Questo aiuta a visualizzare il contenuto della notifica modale.

main-qimg-e6751fdd1ec1a7c97c39c95e4cd0537b.webp

Dopo questo costruite la vostra applicazione. Inserite il vostro dispositivo iOS. Eseguila e chiudi il display.

Nella tua app vai alla scheda Notifiche push. Inviate un messaggio di esempio sul canale di trasmissione. Check this notification on your iOS phone.

Disclaimer, I´m a cofounder at www.back4pp.com