Ușor de notificări iOS Push cu back4app

Introducere

În acest tutorial, vă vom arăta cum să implementați cu ușurință notificări push în aplicația dvs. iOS utilizând un serviciu back-end de la terți, bazat pe cloud. Vom începe prin a analiza pașii necesari pentru orice aplicație iOS care să pună în aplicare notificările push și apoi să folosească back4app (bazată pe platforma Parse) ca serviciu de back-end.

Acest tutorial necesită să executați cel puțin Xcode 8 cu SDK-ul iOS 10. Acest lucru se datorează faptului că vom folosi noul cadru UserNotifications pentru a gestiona primirea notificărilor în aplicație. Dacă doriți să aflați mai multe despre acest cadru, puteți să consultați tutorialul care-l acoperă aici:

  • O introducere în cadrul UserNotifications Framework

    În acest tutorial, veți afla despre noul cadru UserNotifications în iOS 10, tvOS 10 și watchOS 3. Acest nou cadru oferă un set modern de ...
    Davis Allie
    iOS

De asemenea, veți avea nevoie de un dispozitiv fizic iOS pentru a rula aplicația. Acest lucru se datorează faptului că simulatorul iOS nu acceptă notificări push.

1. Configurarea aplicației iOS

Pentru a începe, deschideți Xcode și creați un nou proiect bazat pe iOS> Application> Application Single View șablon:

În ecranul următor, după ce ați completat toate informațiile (puteți utiliza aceleași informații ca și mine), asigurați-vă că ați luat notă de Identificatorul pachetului deoarece vom avea nevoie mai târziu de aceasta:

Odată ce Xcode ți-a creat proiectul, deschide-ți AppDelegate.swift fișier și adăugați următoarea linie de cod în partea de sus:

import UserNotifications

Apoi, înlocuiți aplicare (_: didFinishLaunchingWithOptions :) cu următoarele metode:

funcție (_ cerere: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Oricare]) -> Bool let centre = UNUserNotificationCenter.current () permiteți opțiunile: UNAuthorizationOptions = [.alrt, .badge, .sound] center.requestAuthorization : options, completionHandler: autorizat, eroare dacă este autorizată application.registerForRemoteNotifications ()) return true

Cu acest cod, solicităm permisiunea utilizatorului să afișeze notificări utilizând cadrul UserNotifications. Dacă utilizatorul acceptă acest lucru, vom înregistra apoi pentru notificări la distanță (push) sunând la registerForRemoteNotifications metodă.

Pentru ultimul pas al configurației aplicației, faceți clic pe numele proiectului din partea de sus a Xcode-ului File Navigator și apoi du-te la Capacități tab. Pe acest ecran, porniți Notificări comutați pentru a adăuga drepturile corecte aplicației:

2. Configurarea certificatului

Serviciul de notificare Apple Push

La nivel de bază, sistemul de notificări push pentru iOS funcționează prin următorii pași:

  • Serverul terț trimite o sarcină utilă notificării serviciului Apple Push Notification (APN).
  • APN validează sarcina utilă pentru a se asigura că provine dintr-o sursă legitimă.
  • Dacă sunt valabile, APN-urile transmit apoi sarcina utilă către dispozitivul corect iOS.

Pentru a autentifica în mod corespunzător o sarcină utilă de notificare, trebuie să creați o certificat de semnare. Pentru a începe procesul de creare a acestui certificat, va trebui să vă conectați cu ID-ul dvs. Apple pe site-ul dezvoltatorului Apple.

Înregistrarea unui identificator de aplicație

După ce v-ați conectat, faceți clic pe Certificate, ID-uri și profile în bara laterală stângă:

În ecranul următor, selectați Identificatori> ID-uri de aplicație în bara laterală din stânga și apoi faceți clic pe butonul plus din colțul din dreapta sus:

Când creați identificatorul aplicației, puteți introduce orice doriți pentru dvs. Nume în Codul de identificare al aplicației secțiune. În App ID Suffix secțiune, selectați ID de identificare explicită și introduceți opțiunea identificatorul pachetului pe care l-ați făcut când creați proiectul în ID-ul pachetului camp. În cele din urmă, în Servicii de aplicații secțiune, asigurați-vă că selectați opțiunea căsuței de selectare pentru a activa Notificări. După ce ați introdus toate informațiile, derulați în jos în partea de jos a paginii și selectați Continua buton. 

Veți primi acum o imagine de ansamblu a noului dvs. ID de aplicație, așa cum se arată în imaginea de mai jos:

Verificați dacă toate informațiile sunt corecte (în acest stadiu, Notificări ar trebui să fie afișate ca configurabilă), apoi faceți clic pe Inregistreaza-te în partea de jos a ecranului.

Crearea de certificate

Mergi la Certificate în bara laterală din stânga și faceți clic din nou pe butonul plus din colțul din dreapta sus. În ecranul următor, în Dezvoltare secțiune, selectați Serviciul Apple Push Notification SSL (Sandbox) și faceți clic pe Continua în partea de jos. 

În ecranul următor, selectați ID-ul aplicației din meniul derulant și apoi faceți clic pe Continua.

Dacă nu aveți deja un fișier de solicitare de semnare a certificatului (CSR), urmați instrucțiunile de pe ecranul următor pentru a crea unul. Odată ce ați pregătit un CSR, puteți continua la următorul ecran și îl puteți încărca.

Odată ce certificatul dvs. a fost creat, faceți clic pe Descarca și apoi deschideți fișierul cu Acces la chei aplicație de pe computer. Dacă vi se solicită care lanț de chei trebuie să adăugați certificatul, selectați Logare opțiune.

Încă în Acces la chei app, selectați  Certificate opțiune din partea de jos a barei laterale din stânga:

Veți avea nevoie acum să găsiți certificatul pe care tocmai l-ați făcut; acesta va avea numele măr Dezvoltare IOS Servicii Push: Bundle ID. Odată ce ați găsit certificatul, faceți clic dreapta pe această tastă și selectați Export opțiune. În fereastra pop-up care apare, puteți apela fișierul pe care îl doriți, dar asigurați-vă că Tipul fisierului este setat sa Schimbul de informații personale (.p12):

Atunci când exportați certificatul, nu furnizați o parolă pentru fișierul p12. Acest lucru se datorează faptului că back4app necesită un fișier de certificat fără protecție prin parolă.

Serviciul Apple Push Notification are două medii separate: unul pentru aplicații în curs de dezvoltare și unul pentru aplicații în producție. 

Până acum, am creat un certificat care să fie utilizat pentru mediul de dezvoltare, care va funcționa atunci când testați aplicația prin Xcode. 

Când vă lansați aplicația în App Store, va trebui să creați o producere certificat. Pentru a face acest lucru, repetați pașii prin care am trecut Crearea de certificate din acest tutorial, dar selectați Serviciul Apple Push Notification SSL (Sandbox & Production). Rețineți că în Acces la chei, numele certificatului va fi: Serviciile Apple Push: Bundle ID.

Rețineți că este posibil să nu fie nevoie să creați două certificate separate, în funcție de implementarea notificării push pe care o utilizați. De la începutul acestui an, Apple a permis crearea unui certificat cu dublă utilizare - Serviciul Apple Push Notification SSL (Sandbox & Production) tip-care poate fi folosit pentru conectarea la ambele medii. Din păcate, unele servicii, cum ar fi back4app, nu au fost actualizate încă pentru a beneficia de aceste noi certificate și au nevoie de un serviciu dedicat pentru fiecare mediu.

3. back4app Setup

Pentru acest tutorial, vom folosi back4app pentru a furniza implementarea de la server a notificărilor push. back4app este un serviciu care vă oferă o aplicație ușor de utilizat și gratuită (cu limite). Acesta funcționează ca un server de găzduire pentru proiectul Parse Server.

Pentru a vă înființa cu back4app, va trebui să mergeți la back4app.com și să vă înscrieți pentru un cont dacă nu aveți deja unul.

Odată ce v-ați înscris, veți fi aduși pe un ecran gol în care vor fi afișate toate aplicațiile dvs. Pentru a crea unul nou, faceți clic pe Creați o nouă aplicație Parse în colțul din stânga sus. În ecranul următor, introduceți numele aplicației dvs., apoi faceți clic pe Următor →

Odată ce aplicația dvs. a fost creată, veți fi adus pe ecran cu o grămadă de identificatori și chei diferite. Trebuie să luăm notă de ele Codul aplicației, Parse adresa API, și Cheia clientului. După ce aveți o copie a acestora, puteți face clic pe Închide în partea de jos a paginii.

Acum ar trebui să vă aflați pe ecranul principal al tabloului de bord pentru aplicația dvs. Pentru a configura implementarea notificărilor push, accesați Setările de notificare push Push pagină. Aici, apăsați tasta Alege fișierul butonul și încărcați .P12 fișierul pe care l-ați creat mai devreme. Clic Trimite iar ID-ul pachetului dvs. ar trebui să apară în listă după cum se arată în următoarea imagine de ecran:

4. Parse setarea SDK

Ca ultima etapă a configurației noastre, trebuie să descărcați și să adăugați Parse SDK în aplicația noastră. Pentru a face acest lucru, puteți urma primii trei pași ai ghidului de pornire rapidă iOS din back4app.

Odată ce ați finalizat configurarea setului SDK Parse și ați adăugat codul de configurare necesar aplicare (_: didFinishLaunchingWithOptions :) adăugați următoarea metodă la metoda dvs. AppDelegate clasă:

funcția (cerere: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) lăsați instalarea = PFInstallation.current () instalare? .setDeviceTokenFrom (deviceToken) installation? .saveInBackground ()

Această metodă va fi apelată dacă utilizatorul acceptă solicitarea aplicației dvs. de a afișa notificări. Mai exact, registerForRemoteNotifications metoda pe care am apelat-o mai devreme în delegatul nostru de aplicații va apela cerere (_: didRegisterForRemoteNotificationsWithDeviceToken :) după terminarea procesării. În implementarea acestei metode, primim doar datele dispozitivului și le încărcăm în aplicația back4app Parse.

5. Trimiterea unei notificări

Acum că configurația noastră este completă, puteți să creați și să difuzați aplicația pe un dispozitiv iOS. După deschiderea aplicației, veți vedea următoarea alertă:

Apasă pe Permite și aplicația dvs. se va înregistra pentru notificări la distanță.

Acum, puteți merge la tabloul de bord Parse pentru aplicația dvs. După ce vă aflați în tabloul de bord al aplicației, faceți clic pe miez în bara laterală stângă, dacă nu a fost deja selectată. Odata ce miez secțiune a extins, veți putea vedea numărul total de Instalare obiecte pentru aplicația dvs. În prezent, acest lucru ar trebui să fie afișat 1 ca în această captură de ecran:

Dacă acest număr este încă 0, atunci va trebui să vă întoarceți și să verificați dacă ați copiat tot codul în dumneavoastră AppDelegate clasa corectă, inclusiv identificatorul aplicației back4app și cheia clientului.

După ce vă asigurați că aplicația dvs. a salvat datele de instalare din Parse, accesați Apăsați secțiune din bara laterală stângă a tabloului de bord Parse. Ar trebui să vă aflați acum pe un ecran în care să puteți trimite o notificare particularizată. Pentru moment, puteți să lăsați toate setările așa cum sunt și să introduceți un mesaj personalizat sub Scrieți mesajul subpoziția.

Când sunteți gata, blocați ecranul aparatului dvs. iOS, apoi apăsați pe Trimiteți push butonul din colțul din dreapta jos al tabloului de bord Parse. După câteva secunde, ar trebui să vedeți notificarea dvs. push pe ecranul de blocare:

Concluzie

Felicitări! Ați instalat cu succes notificări push pentru o aplicație iOS! După cum puteți vedea, în afară de crearea obositoare a certificatelor SSL, folosirea unui serviciu, cum ar fi back4app, face ca implementarea notificărilor push să fie destul de ușoară.

Desigur, există și alte servicii în afară de back4app pe care le puteți utiliza pentru notificări push, inclusiv Backendless, Google Firebase și chiar propriul CloudKit de la Apple. Am ales back4app pe care să-l folosesc pentru acest tutorial, deoarece cele mai multe setări de notificări push urmăresc un proces similar. De asemenea, oferă multe alte facilități gratuite gratuite pe care orice aplicație le-ar putea profita.

Ca întotdeauna, vă rugăm să aveți grijă să lăsați comentariile și feedback-ul dvs. în secțiunea de comentarii de mai jos. Și verificați câteva dintre celelalte tutoriale ale noastre cu privire la utilizarea serviciilor back-end bazate pe cloud pentru aplicații mobile!

Cod