In deze zelfstudie laat ik u zien hoe u pushmeldingen in uw iOS-app eenvoudig kunt implementeren met behulp van een back-endservice van derden. We zullen beginnen met het bekijken van de vereiste stappen voor elke iOS-app om pushmeldingen te implementeren en vervolgens back4app (gebaseerd op het Parse-platform) te gebruiken als onze back-endservice.
Deze tutorial vereist dat je ten minste Xcode 8 gebruikt met de iOS 10 SDK. Dit komt omdat we het nieuwe UserNotifications-framework gebruiken om meldingen in de app te verwerken. Als je meer wilt weten over dit framework, kun je mijn tutorial hier bekijken:
Je hebt ook een fysiek iOS-apparaat nodig om je app te gebruiken. Dit komt omdat de iOS-simulator geen pushmeldingen ondersteunt.
Om te beginnen, open Xcode en maak een nieuw project op basis van de iOS> Toepassing> Toepassing enkele weergave sjabloon:
Op het volgende scherm, als je alle informatie hebt ingevuld (je kunt dezelfde informatie gebruiken als ik heb), zorg er dan voor dat je kennis neemt van de Bundelidentificatie zoals we dit later nodig hebben:
Zodra Xcode uw project heeft gemaakt, opent u uw AppDelegate.swift bestand en voeg de volgende regel code toe aan de bovenkant:
gebruikersnota's importeren
Vervang vervolgens de applicatie (_: didFinishLaunchingWithOptions :)
methode met de volgende:
func application (_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool let center = UNUserNotificationCenter.current () laat opties: UNAuthorizationOptions = [.alert, .badge, .sound] center.requestAuthorization (opties : options, completionHandler: authorized, error in if authorized application.registerForRemoteNotifications ()) return true
Met deze code vragen we toestemming van de gebruiker om meldingen te tonen met behulp van het UserNotifications-framework. Als de gebruiker dit accepteert, registreren we ons voor externe (push) meldingen door de registerForRemoteNotifications
methode.
Klik voor de laatste stap van de app-instelling op uw projectnaam bovenaan Xcode's Bestandsnavigator en ga dan naar de mogelijkheden tab. Op dit scherm schakelt u de Push-meldingen schakel om de juiste rechten toe te voegen aan uw app:
Op basisniveau werkt het push-notificatiesysteem voor iOS via de volgende stappen:
U moet een. Maken om de payload van de melding correct te verifiëren ondertekeningscertificaat. Om het proces voor het maken van dit certificaat te starten, moet u zich aanmelden met uw Apple ID op de ontwikkelaarswebsite van Apple.
Zodra u bent ingelogd, klikt u op Certificaten, ID's & Profielen in de linkerzijbalk:
Selecteer in het volgende scherm Identifiers> App-ID's in de linkerzijbalk en klik vervolgens op de plusknop in de rechterbovenhoek:
Wanneer u uw applicatie-ID maakt, kunt u alles invoeren wat u wilt voor uw Naam in de App ID-beschrijving sectie. In de App-ID achtervoegsel sectie, selecteer de Expliciete app-ID optie en voer de bundelidentificatie die je hebt gemaakt bij het maken van het project in de Bundel-ID veld. Ten slotte, in de App-services sectie, zorg ervoor dat u de checkbox optie selecteert om in te schakelen Push-meldingen. Nadat u alle informatie hebt ingevoerd, bladert u omlaag naar de onderkant van de pagina en selecteert u de Doorgaan met knop.
U krijgt nu een overzicht van uw nieuwe app-ID, zoals weergegeven in de onderstaande schermafbeelding:
Controleer of alle informatie correct is (in dit stadium, Push-meldingen moet worden weergegeven als configureerbaar) en klik vervolgens op Registreren onderaan het scherm.
Ga naar certificaten in de linkerzijbalk en klik nogmaals op de plusknop in de rechterbovenhoek. Op het volgende scherm, in de Ontwikkeling sectie, selecteer de Apple Push Notification-service SSL (Sandbox) optie en klik Doorgaan met aan de onderkant.
Selecteer in het volgende scherm uw app-ID in het vervolgkeuzemenu en klik vervolgens op Doorgaan met.
Als u nog geen CSR-bestand (Certificate Signing Request) hebt, volgt u de instructies op het volgende scherm om er een te maken. Als u klaar bent met CSR, kunt u doorgaan naar het volgende scherm en het uploaden.
Nadat uw certificaat is aangemaakt, klikt u op Download knop en open vervolgens het bestand met de Sleutelhangertoegang app op uw computer. Als u wordt gevraagd aan welke sleutelhanger het certificaat moet worden toegevoegd, selecteert u de Log in keuze.
Nog steeds in de Sleutelhangertoegang app, selecteer de certificaten optie in het onderste gedeelte van de linkerzijbalk:
U moet nu het certificaat vinden dat u zojuist hebt gemaakt; het zal de naam hebben appel IOS voor ontwikkeling Push-services: Bundle ID. Nadat u uw certificaat hebt gevonden, klikt u met de rechtermuisknop op deze sleutel en selecteert u het Exporteren keuze. In de pop-up die verschijnt, kunt u het bestand bellen wat u maar wilt, maar zorg ervoor dat het Bestandsformaat ingesteld op Personal Information Exchange (.p12):
Geef bij het exporteren van het certificaat geen wachtwoord op voor het p12-bestand. Dit komt omdat back4app een certificaatbestand vereist zonder wachtwoordbeveiliging.
De Apple Push Notification-service heeft twee afzonderlijke omgevingen: een voor apps in ontwikkeling en een voor apps in productie.
Tot nu toe hebben we een certificaat gemaakt voor gebruik in de ontwikkelomgeving. Dit certificaat werkt wanneer u uw app test via Xcode.
Wanneer u uw app in de App Store vrijgeeft, moet u een productie certificaat. Herhaal hiervoor de stappen die we hebben doorlopen in de Certificaten maken deel van deze tutorial, maar selecteer Apple Push Notification-service SSL (Sandbox & Production). Houd er rekening mee dat in Sleutelhangertoegang, de naam van het certificaat zal zijn: Apple Push Services: Bundle ID.
Houd er rekening mee dat u mogelijk niet twee afzonderlijke certificaten hoeft te maken, afhankelijk van welke implementatie van pushmeldingen u gebruikt. Sinds eerder dit jaar heeft Apple de creatie van een certificaat voor twee doeleinden toegestaan: de Apple Push Notification-service SSL (Sandbox & Production) type - dat kan worden gebruikt om verbinding te maken met beide omgevingen. Helaas zijn sommige services, zoals back4app, nog niet bijgewerkt om te profiteren van deze nieuwe certificaten en hebben ze een speciale bestemming nodig voor elke omgeving.
Voor deze zelfstudie gebruiken we back4app om de server-side implementatie van onze pushmeldingen te verzorgen. back4app is een service die een eenvoudig te gebruiken en gratis (met limieten) back-end voor uw app biedt. Het werkt als een hostserver voor het Parse Server-project.
Om een back-up te maken met back4app, moet je naar back4app.com gaan en je aanmelden voor een account als je die nog niet hebt.
Nadat u zich hebt aangemeld, wordt u naar een leeg scherm gebracht waar al uw apps worden weergegeven. Om een nieuwe aan te maken, klikt u op de Bouw een nieuwe parse-app knop in de linkerbovenhoek. Op het volgende scherm voert u de naam voor uw app in en klikt u vervolgens op volgende.
Nadat uw app is gemaakt, wordt u naar een scherm met een hele reeks verschillende ID's en sleutels gebracht. Degenen die we moeten noteren zijn de App-ID, Parse API Address, en Client Key. Zodra u een kopie van deze hebt, kunt u klikken op de Dichtbij knop onderaan de pagina.
Nu zou je op het hoofddashboardscherm voor je app moeten staan. Om de implementatie van pushmeldingen in te stellen, gaat u naar Instellingen voor pushmeldingen van iOS pagina. Hier, druk op de Kies bestand knop en upload de .p12 bestand dat u eerder hebt gemaakt. Klik Sturen en uw bundel-ID zou dan in de lijst moeten verschijnen zoals getoond in de volgende screenshot:
Als laatste stap in onze configuratie moeten we de pars-SDK downloaden en toevoegen aan onze applicatie. Om dit te doen, kunt u de eerste drie stappen van de iOS Quickstart-handleiding van back4app volgen.
Nadat u de installatie van de Parse SDK hebt voltooid en de vereiste configuratiecode aan uw hebt toegevoegd applicatie (_: didFinishLaunchingWithOptions :)
methode, voeg de volgende methode toe aan uw AppDelegate
klasse:
func application (_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) let installation = PFInstallation.current () installation? .setDeviceTokenFrom (deviceToken) installation? .saveInBackground ()
Deze methode wordt aangeroepen als de gebruiker het verzoek van uw app accepteert om meldingen weer te geven. In het bijzonder, de registerForRemoteNotifications
methode die we eerder in onze app hebben genoemd, zal de applicatie (_: didRegisterForRemoteNotificationsWithDeviceToken :)
methode als het eenmaal is verwerkt. In onze implementatie van deze methode krijgen we alleen de apparaatgegevens en uploaden deze naar de back4app-app Parse.
Nu al onze instellingen zijn voltooid, kunt u uw app bouwen en uitvoeren op een iOS-apparaat. Zodra je app wordt geopend, zie je de volgende melding:
Druk op Toestaan knop en uw app registreert zichzelf voor externe meldingen.
Nu kunt u naar het parser-dashboard voor uw toepassing gaan. Zodra u in het dashboard van uw app bent, klikt u op Kern in de linkerzijbalk, als deze nog niet is geselecteerd. Zodra de Kern sectie is uitgebreid, kunt u het totale aantal zien Installatie objecten voor uw app. Op dit moment moet dit worden weergegeven 1 zoals in deze screenshot:
Als dit nummer nog steeds 0 is, moet u teruggaan en controleren of u alle code naar uw hebt gekopieerd AppDelegate
klasse correct, inclusief uw back4app-app-ID en cliëntsleutel.
Nadat u hebt gecontroleerd of uw app de installatiegegevens op Parse heeft opgeslagen, gaat u naar Duwen sectie in de linkerzijbalk van het pars dashboard. U zou nu op een scherm moeten staan waar u uw eigen aangepaste melding kunt verzenden. U kunt nu alle instellingen ongewijzigd laten en gewoon een aangepast bericht typen onder de Schrijf je bericht onderverdeling.
Wanneer u klaar bent, vergrendelt u het scherm van uw iOS-apparaat en drukt u vervolgens op Stuur push knop in de rechterbenedenhoek van het pars dashboard. Na een paar seconden ziet u uw pushmelding op uw vergrendelingsscherm verschijnen:
Gefeliciteerd! U hebt zojuist pushmeldingen voor een iOS-applicatie ingesteld! Zoals u kunt zien, maakt het gebruik van een service zoals back4app, naast het moeizame maken van SSL-certificaten, het implementeren van pushmeldingen heel eenvoudig.
Natuurlijk zijn er andere services behalve de back4app die je kunt gebruiken voor pushmeldingen, waaronder Backendless, Google Firebase en zelfs Apple's eigen CloudKit. Ik koos back4app om te gebruiken voor deze tutorial omdat de meeste instellingen voor pushmeldingen een vergelijkbaar proces volgen. Het biedt ook vele andere geweldige gratis functies waarvan elke app kan profiteren.
Laat zoals altijd uw opmerkingen en feedback achter in de opmerkingen hieronder. Bekijk ook enkele van onze andere zelfstudies over het gebruik van cloudgebaseerde back-endservices voor mobiele apps!