Notifications push iOS simples avec back4app

introduction

Dans ce didacticiel, je vais vous montrer comment implémenter facilement les notifications push dans votre application iOS à l'aide d'un service back-end tiers basé sur le cloud. Nous commencerons par examiner les étapes requises par toute application iOS pour implémenter les notifications push, puis nous utiliserons back4app (basée sur la plate-forme Parse) comme service d’arrière-plan..

Ce tutoriel nécessite que vous exécutiez au moins Xcode 8 avec le SDK iOS 10. En effet, nous allons utiliser le nouveau cadre UserNotifications pour gérer la réception des notifications dans l'application. Si vous voulez en savoir plus sur ce framework, vous pouvez consulter mon tutoriel le couvrant ici:

  • Une introduction au framework UserNotifications

    Dans ce didacticiel, vous découvrirez le nouveau cadre UserNotifications sous iOS 10, tvOS 10 et watchOS 3. Ce nouveau cadre fournit un ensemble moderne de…
    Davis Allie
    iOS

Vous aurez également besoin d'un appareil physique iOS pour exécuter votre application. En effet, le simulateur iOS ne prend pas en charge les notifications push..

1. Configuration de l'application iOS

Pour commencer, ouvrez Xcode et créez un nouveau projet basé sur le iOS> Application> Application à vue unique modèle:

Sur l'écran suivant, une fois que vous avez rempli toutes les informations (vous pouvez utiliser les mêmes informations que moi), assurez-vous de prendre note des Identifiant de paquet comme nous en aurons besoin plus tard:

Une fois que Xcode a créé votre projet, ouvrez votre AppDelegate.swift fichier et ajoutez la ligne de code suivante en haut:

importer UserNotifications

Ensuite, remplacez le application (_: didFinishLaunchingWithOptions :) méthode avec ce qui suit:

application func (_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: any]?) -> Bool let center = UNUserNotificationCenter.current () laisse options: UNAuthorizationOptions = [.alert, .badge, .sound : options, completionHandler: autorisé, erreur si autorisé application.registerForRemoteNotifications ()) renvoie true

Avec ce code, nous demandons à l'utilisateur la permission d'afficher des notifications à l'aide du cadre UserNotifications. Si l'utilisateur accepte cela, nous nous inscrivons aux notifications à distance (push) en appelant le registerForRemoteNotifications méthode.

Pour la dernière étape de la configuration de l'application, cliquez sur le nom de votre projet en haut de Xcode. Navigateur de fichier et ensuite aller au Les capacités languette. Sur cet écran, allumez le Notifications push passez à ajouter les droits appropriés à votre application:

2. Configuration du certificat

Service de notification push Apple

Au niveau de base, le système de notifications push pour iOS passe par les étapes suivantes:

  • Le serveur tiers envoie une charge de notification au service Apple Push Notification Service (APN)..
  • Les APNs valident la charge utile pour s'assurer qu'elle provient d'une source légitime.
  • Si elles sont valides, les APN transmettent ensuite les données utiles au périphérique iOS approprié..

Pour authentifier correctement une charge de notification, vous devez créer un certificat de signature. Pour démarrer le processus de création de ce certificat, vous devez vous connecter avec votre identifiant Apple sur le site Web du développeur Apple..

Enregistrement d'un identifiant d'application

Une fois connecté, cliquez sur Certificats, identifiants et profils dans la barre latérale gauche:

Sur l'écran suivant, sélectionnez Identifiants> ID d'applications dans la barre latérale gauche, puis cliquez sur le bouton plus dans le coin supérieur droit:

Lors de la création de votre identifiant d'application, vous pouvez entrer ce que vous voulez pour votre prénom dans le App ID Description section. dans le Suffixe d'identifiant d'application section, sélectionnez la Identifiant d'application explicite option et entrez le identifiant de paquet que vous avez fait lors de la création du projet dans le ID de lot champ. Enfin, dans le Services d'application section, assurez-vous de cocher la case à cocher pour activer Notifications push. Une fois que vous avez saisi toutes les informations, faites défiler vers le bas de la page et sélectionnez le Continuer bouton. 

Vous allez maintenant avoir un aperçu de votre nouvel identifiant d'application, comme indiqué dans la capture d'écran ci-dessous:

Vérifiez que toutes les informations sont correctes (à ce stade, Notifications push devrait montrer que Configurable) puis cliquez sur registre au bas de l'écran.

Création de certificats

Aller à Certificats dans la barre latérale gauche et cliquez à nouveau sur le bouton plus dans le coin supérieur droit. Sur l'écran suivant, dans le Développement section, sélectionnez la Service de notification Apple Push SSL (Sandbox) option et cliquez Continuer au fond. 

Sur l'écran suivant, sélectionnez votre ID d'application dans le menu déroulant, puis cliquez sur Continuer.

Si vous ne possédez pas encore de fichier de demande de signature de certificat (CSR), suivez les instructions à l'écran pour en créer un. Une fois que vous avez un CSR prêt, vous pouvez passer à l'écran suivant et le télécharger..

Une fois votre certificat créé, cliquez sur le bouton Télécharger bouton puis ouvrez le fichier avec le Porte-clés application sur votre ordinateur. Si on vous demande à quel trousseau ajouter le certificat, sélectionnez le s'identifier option.

Toujours dans le Porte-clés app, sélectionnez la Certificats option dans la section inférieure de la barre latérale gauche:

Vous devez maintenant trouver le certificat que vous venez de créer; il aura le nom Pomme Développement IOS Services Push: ID Bundle. Une fois que vous avez trouvé votre certificat, faites un clic droit sur cette clé et sélectionnez le Exportation option. Dans la fenêtre qui apparaît, vous pouvez appeler le fichier comme vous le souhaitez, mais assurez-vous que le Format de fichier est réglé sur Échange d'informations personnelles (.p12):

Lors de l'exportation du certificat, ne spécifiez pas de mot de passe pour le fichier p12. En effet, back4app nécessite un fichier de certificat sans protection par mot de passe..

Le service Apple Push Notification propose deux environnements distincts: un pour les applications en développement et un pour les applications en production.. 

Jusqu'à présent, nous avons créé un certificat à utiliser pour l'environnement de développement, qui fonctionnera lors du test de votre application via Xcode.. 

Lorsque vous publiez votre application sur l'App Store, vous devez créer un production certificat. Pour ce faire, répétez les étapes que nous avons suivies dans Création de certificats section de ce tutoriel, mais sélectionnez Service de notification Apple Push SSL (bac à sable et production). Veuillez noter que dans Porte-clés, le nom du certificat sera: Services Apple Push: ID Bundle.

Notez que vous n’aurez peut-être pas besoin de créer deux certificats distincts, en fonction de l’implémentation de la notification push utilisée. Depuis le début de l’année, Apple a autorisé la création d’un certificat à double usage: le Service de notification Apple Push SSL (bac à sable et production) type-qui peut être utilisé pour se connecter aux deux environnements. Malheureusement, certains services tels que back4app n'ont pas encore été mis à jour pour tirer parti de ces nouveaux certificats et nécessitent un dédié pour chaque environnement..

3. Configuration de back4app

Pour ce tutoriel, nous allons utiliser back4app pour fournir l'implémentation côté serveur de nos notifications push. back4app est un service qui fournit un back-end facile à utiliser et gratuit (avec des limites) pour votre application. Il fonctionne comme un serveur d'hébergement pour le projet Parse Server.

Pour vous installer avec back4app, vous devrez aller sur back4app.com et créer un compte si vous n'en avez pas déjà un..

Une fois que vous vous êtes inscrit, vous serez amené à un écran vide où toutes vos applications seront affichées. Pour en créer un nouveau, cliquez sur le bouton Construire une nouvelle application Parse bouton dans le coin en haut à gauche. Sur l'écran suivant, entrez le nom de votre application, puis cliquez sur Suivant

Une fois votre application créée, vous serez amené à un écran contenant de nombreux identifiants et clés. Ceux que nous devons prendre en compte sont les Identifiant de l'application, Adresse de l'API d'analyse, et Clé client. Une fois que vous en avez une copie, vous pouvez cliquer sur le bouton Fermer bouton en bas de page.

Vous devriez maintenant être sur l'écran principal du tableau de bord pour votre application. Pour configurer la mise en œuvre des notifications push, allez à la page Paramètres de notification push iOS page. Ici, appuyez sur le Choisir le fichier bouton et télécharger le .p12 fichier que vous avez créé précédemment. Cliquez sur Envoyer et votre identifiant de paquet devrait alors apparaître dans la liste, comme indiqué dans la capture d'écran suivante:

4. Pars Setup SDK Setup

En tant que dernière étape de notre configuration, nous devons télécharger et ajouter le kit de développement logiciel Parse à notre application. Pour ce faire, vous pouvez suivre les trois premières étapes du guide de démarrage rapide iOS de back4app..

Une fois que vous avez terminé l’installation du SDK Parse et ajouté le code de configuration requis à votre application (_: didFinishLaunchingWithOptions :) méthode, ajoutez la méthode suivante à votre AppDéléguer classe:

application func (_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Données) let installation = PFInstallation.current () installation? .setDeviceTokenFrom (deviceToken) installation? .saveInBackground ()

Cette méthode sera appelée si l'utilisateur accepte la demande de votre application d'afficher des notifications. Plus précisément, le registerForRemoteNotifications méthode que nous avons appelée plus tôt dans notre délégué app appellera le application (_: didRegisterForRemoteNotificationsWithDeviceToken :) méthode une fois qu'il est fait le traitement. Dans notre implémentation de cette méthode, nous venons de récupérer les données de l'appareil et de les télécharger sur l'application back4app Parse.

5. Envoi d'une notification

Maintenant que toute notre configuration est terminée, vous pouvez créer et exécuter votre application sur un appareil iOS. Une fois votre application ouverte, vous verrez l'alerte suivante:

Appuyez sur le Permettre bouton et votre application va s'enregistrer pour les notifications à distance.

Vous pouvez maintenant accéder au tableau de bord Parse pour votre application. Une fois dans le tableau de bord de votre application, cliquez sur Coeur dans la barre latérale gauche si pas déjà sélectionné. Une fois la Coeur section a été étendue, vous pourrez voir le nombre total de Installation objets pour votre application. Pour le moment, cela devrait montrer 1 comme dans cette capture d'écran:

Si ce nombre est toujours égal à 0, vous devrez alors vérifier si vous avez bien copié tout le code dans votre AppDéléguer classe correctement, y compris votre identifiant d'application back4app et votre clé client.

Après vous être assuré que votre application a sauvegardé ses données d’installation sur Parse, allez à la Pousser section dans la barre latérale gauche du tableau de bord Parse. Vous devriez maintenant être sur un écran où vous pouvez envoyer votre propre notification personnalisée. Pour le moment, vous pouvez laisser tous les paramètres tels quels et simplement taper un message personnalisé sous le Ecrivez votre message sous-titre.

Lorsque vous êtes prêt, verrouillez l’écran de votre appareil iOS, puis appuyez sur la touche Envoyer push bouton dans le coin inférieur droit du tableau de bord d'analyse. Après quelques secondes, votre notification push devrait apparaître sur votre écran de verrouillage:

Conclusion

Toutes nos félicitations! Vous venez de configurer avec succès les notifications push pour une application iOS! Comme vous pouvez le constater, mis à part la création fastidieuse de certificats SSL, l'utilisation d'un service tel que back4app facilite la mise en œuvre de notifications push..

Bien sûr, il existe d’autres services que back4app que vous pouvez utiliser pour les notifications push, notamment Backendless, Google Firebase et même le CloudKit d’Apple. J'ai choisi back4app pour ce didacticiel, car la plupart des configurations de notification push suivent un processus similaire. Il offre également de nombreuses autres fonctionnalités gratuites dont toute application pourrait tirer parti.

Comme toujours, assurez-vous de laisser vos commentaires dans la section commentaires ci-dessous. Et consultez certains de nos autres didacticiels sur l'utilisation des services back-end basés sur le cloud pour les applications mobiles.!