Enkle IOS Push Notifications Med back4app

Introduksjon

I denne opplæringen vil jeg vise deg hvordan du enkelt kan implementere pushvarsler i din iOS-app ved hjelp av en skybasert tilbakeleveringsservice fra tredjepart. Vi starter med å se på de nødvendige trinnene for en hvilken som helst iOS-app for å implementere pushvarsler og deretter bruke back4app (basert på Parse-plattformen) som vår back-end-tjeneste.

Denne opplæringen krever at du kjører minst Xcode 8 med iOS 10 SDK. Dette skyldes at vi skal bruke det nye UserNotifications-rammeverket for å håndtere mottakende varsler i appen. Hvis du vil lære mer om dette rammeverket, kan du sjekke ut veiledningen min som dekker det her:

  • En introduksjon til UserNotifications Framework

    I denne opplæringen lærer du om det nye UserNotifications-rammeverket i iOS 10, tvOS 10 og watchOS 3. Dette nye rammeverket gir et moderne sett med ...
    Davis Allie
    iOS

Du vil også trenge en fysisk iOS-enhet for å kjøre appen din. Dette skyldes at iOS-simulatoren ikke støtter push-varsler.

1. IOS App Setup

For å starte, åpne Xcode og opprett et nytt prosjekt basert på iOS> Program> Enkeltvisningsprogram mal:

På neste skjermbilde, når du har fylt ut all informasjonen (du kan bruke samme informasjon som jeg har), sørg for at du noterer deg Bundle Identifier som vi trenger dette senere:

Når Xcode har opprettet prosjektet ditt, åpner du AppDelegate.swift fil og legg til følgende linje kode øverst:

importerer brukernotifikasjoner

Deretter erstattes applikasjons (_: didFinishLaunchingWithOptions :) metode med følgende:

Funksjonsprogram (_ søknad: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool let senter = UNUserNotificationCenter.current () la alternativer: UNAuthorizationOptions = [.alert, .badge, .sound] center.requestAuthorization : alternativer, completionHandler: autorisert, feil i hvis autorisert application.registerForRemoteNotifications ()) return true

Med denne koden ber vi om tillatelse fra brukeren til å vise varsler ved hjelp av UserNotifications-rammen. Hvis brukeren aksepterer dette, registrerer vi da for fjern (push) varsler ved å ringe registerForRemoteNotifications metode.

For det siste trinnet i appoppsettet, klikk på prosjektnavnet ditt øverst på Xcode Filnavigator og deretter gå til Capabilities fane. På denne skjermen slår du på Push Notifications bytt for å legge til de riktige rettighetene til appen din:

2. Sertifikatoppsett

Apple Push Notification Service

På grunnleggende nivå fungerer push-varslingssystemet for iOS gjennom følgende trinn:

  • Tredjepartsserveren sender en varslingsbelastning til Apple Push Notification-tjenesten (APN).
  • APNene validerer nyttelasten for å sikre at den kommer fra en legitim kilde.
  • Hvis gyldig, sender APNene nytt nyttelast til riktig iOS-enhet.

For å kunne godkjenne en nyttelast for varsling, må du opprette en signeringssertifikat. For å starte prosessen med å opprette dette sertifikatet, må du logge på med din Apple-ID på Apples utviklerwebside.

Registrering av en applikasjonsidentifikator

Når du har logget på, klikker du på Sertifikater, IDer og Profiler i venstre sidefelt:

På neste skjermbilde velger du Identifikatorer> App ID-er i venstre sidefelt og klikk deretter på pluss-knappen øverst til høyre:

Når du oppretter din søknadsidentifikator, kan du skrive inn alt du vil ha for din Navn i App ID Beskrivelse seksjon. I App ID Suffix delen, velg Eksplisitt App ID alternativet og skriv inn buntidentifikator som du gjorde da du opprettet prosjektet i Bundle ID felt. Til slutt, i App-tjenester delen, kontroller at du merker av for alternativet for å aktivere Push Notifications. Når du har skrevet inn all informasjon, blar du ned til bunnen av siden og velger Fortsette knapp. 

Du vil nå bli presentert med en oversikt over din nye app-ID som vist på skjermbildet nedenfor:

Kontroller at all informasjon er korrekt (på dette stadiet, Push Notifications skal vises som konfigurerbar) og klikk deretter Registrere nederst på skjermen.

Opprette sertifikater

Gå til sertifikater i venstre sidefelt og klikk på pluss-knappen i øverste høyre hjørne igjen. På neste skjermbilde, i Utvikling delen, velg Apple Push Notification service SSL (Sandbox) alternativ og klikk Fortsette på bunnen. 

På neste skjerm velger du app-ID-en din fra rullegardinmenyen, og klikker deretter Fortsette.

Hvis du ikke allerede har en CSR-fil (Certificate Signing Request), følger du instruksjonene på neste skjerm for å opprette en. Når du har en CSR klar, kan du fortsette til neste skjermbilde og laste den opp.

Når sertifikatet ditt er opprettet, klikker du på nedlasting knappen og åpne filen med Nøkkelring tilgang app på datamaskinen din. Hvis du blir spurt hvilken nøkkelring som skal legges til sertifikatet, velger du Logg Inn alternativ.

Fortsatt i Nøkkelring tilgang app, velg de sertifikater alternativ i nederste delen av venstre sidefelt:

Du må nå finne sertifikatet du nettopp har laget; det vil ha navnet eple Utvikling IOS Push Services: Bundle ID. Når du har funnet sertifikatet ditt, høyreklikker du på denne tasten og velger Eksport alternativ. I popup-vinduet som vises, kan du ringe filen uansett hva du vil, men sørg for at Filformat er satt til Personlig informasjonsutveksling (.p12):

Når du eksporterer sertifikatet, oppgir du ikke et passord for p12-filen. Dette skyldes at back4app krever en sertifikatfil uten passordbeskyttelse.

Apple Push Notification-tjenesten har to separate miljøer: en for programmer i utvikling og en for programmer i produksjon. 

Så langt har vi opprettet et sertifikat som skal brukes til utviklingsmiljøet, som vil fungere når du tester appen din via Xcode. 

Når du slipper appen din på App Store, må du opprette en produksjon sertifikat. For å gjøre dette, gjenta trinnene vi gikk gjennom i Opprette sertifikater delen av denne opplæringen, men velg Apple Push Notification service SSL (Sandbox og produksjon). Vær oppmerksom på at i Nøkkelring tilgang, sertifikatets navn vil være: Apple Push Services: Bundle ID.

Vær oppmerksom på at du kanskje ikke trenger å opprette to separate sertifikater, avhengig av hvilken push notification implementering du bruker. Siden tidligere i år har Apple lovet opprettelsen av et dual-purpose sertifikat-the Apple Push Notification service SSL (Sandbox og produksjon) type-som kan brukes til å koble til begge miljøer. Dessverre har noen tjenester som back4app ikke blitt oppdatert ennå for å utnytte disse nye sertifikatene og kreve en dedikert til hvert miljø.

3. back4app-oppsett

For denne opplæringen skal vi bruke back4app for å sørge for implementering av push-notifikasjonene på serveren. back4app er en tjeneste som gir en enkel å bruke og gratis (med grenser) back-end for appen din. Det fungerer som en hosting server for Parse Server-prosjektet.

For å bli satt opp med back4app, må du gå til back4app.com og registrere deg for en konto hvis du ikke har en allerede.

Når du har registrert deg, blir du tatt til en tom skjerm der alle appene dine vises. For å opprette en ny, klikk på Bygg ny Parse-app knappen øverst i venstre hjørne. På neste skjermbilde skriver du inn navnet på appen din og klikker deretter neste

Når appen din er opprettet, kommer du til en skjerm med en hel masse forskjellige identifikatorer og nøkler. De som vi trenger å merke seg er App ID, Parse API-adresse, og Klientnøkkel. Når du har en kopi av disse, kan du klikke på Lukk knappen nederst på siden.

Nå bør du være på hovedskjermbildet for appen din. For å konfigurere push notifications implementeringen, gå til iOS Push Notification Settings side. Her trykker du på Velg Fil knapp og last opp .p12 fil som du opprettet tidligere. Klikk Sende og bunten din skal da vises i listen som vist på følgende skjermbilde:

4. Analyser SDK-oppsett

Som siste trinn i oppsettet vårt, må vi laste ned og legge til Parse SDK i vårt program. For å gjøre dette kan du følge de tre første trinnene i back4apps iOS hurtigstartsguide.

Når du har fullført installasjonen av Parse SDK og lagt til den nødvendige konfigurasjonskoden til din applikasjons (_: didFinishLaunchingWithOptions :) metode, legg til følgende metode for din AppDelegate klasse:

func program (_ søknad: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) la installasjon = PFInstallation.current () installasjon? .setDeviceTokenFrom (deviceToken) installasjon? .saveInBackground ()

Denne metoden vil bli ringt hvis brukeren godtar appens forespørsel for å vise varsler. Spesielt, den registerForRemoteNotifications Metode vi ringte tidligere i vår app-delegat vil ringe til søknad (_: didRegisterForRemoteNotificationsWithDeviceToken :) metode når det er ferdig behandling. I implementeringen av denne metoden får vi bare enhetdataene og laster opp dette til back4app Parse-appen.

5. Sende en melding

Nå som alt oppsettet er fullført, kan du bygge og kjøre appen din på en iOS-enhet. Når appen din åpnes, ser du følgende varsel:

Trykk på Tillate knappen, og appen din vil registrere deg for fjernvarsler.

Nå kan du gå til Parse Dashboard for søknaden din. Når du er i dashbordet for appen din, klikker du på Kjerne i venstre sidefelt hvis det ikke allerede er valgt. Først når Kjerne delen er utvidet, vil du kunne se totalt antall Installasjon objekter for appen din. For øyeblikket bør dette vises 1 som i dette skjermbildet:

Hvis dette nummeret fortsatt er 0, må du gå tilbake og kontrollere at du har kopiert hele koden til din AppDelegate klassen riktig, inkludert din back4app-appidentifikator og klientnøkkel.

Når du har kontrollert at appen din har lagret installasjonsdataene sine på Parse, går du til Trykk delen i venstre sidefelt i Parse Dashboard. Du bør nå være på en skjerm hvor du kan sende ut ditt eget tilpassede varsel. For nå kan du legge alle innstillingene slik de er og bare skrive inn en egendefinert melding under Skriv din melding varenummer.

Når du er klar, lås skjermbildet for iOS-enheten din, og trykk deretter på Send push knappen nederst til høyre på Parse Dashboard. Etter noen sekunder, bør du se push-varselet ditt på låseskjermbildet:

Konklusjon

Gratulerer! Du har nettopp opprettet push notifications for et iOS-program! Som du kan se, bortsett fra den kjedelige opprettelsen av SSL-sertifikater, bruker en tjeneste som back4app gjør implementeringstrykkmeldinger ganske enkle.

Selvfølgelig er det andre tjenester bortsett fra back4app som du kan bruke til push notifications, inkludert Backendless, Googles Firebase, og til og med Apples eget CloudKit. Jeg valgte back4app å bruke for denne opplæringen, da de fleste push notifikasjonsoppsett følger en lignende prosess. Det tilbyr også mange andre flotte gratis funksjoner som noen app kan dra nytte av.

Som alltid, vær så snill å legge igjen dine kommentarer og tilbakemeldinger i kommentarfeltet nedenfor. Og sjekk ut noen av våre andre veiledninger om bruk av skybaserte back-end-tjenester for mobilapper!