Fermer

avril 24, 2019

Utilisation du service de notifications push Everlive dans votre iOS natif


Les notifications push sont utiles pour informer les utilisateurs de contenus actualisés et pertinents. Les notifications push peuvent être envoyées, que l'application soit en cours d'exécution, inactive ou en arrière-plan. Les notifications peuvent afficher une alerte. jouez un son distinct ou mettez un badge de mise à jour sur l'icône de votre application.

Dans cet article, je vais décrire le processus d'activation de la notification push pour une application sur le portail de développement Apple, télécharger le certificat généré sur Everlive et enfin enregistrer mon appareil dans Everlive. recevoir des notifications push.

Avant de commencer, notez que vous ne pouvez pas tester les notifications push dans un simulateur iOS. Vous avez besoin d'un appareil iOS ainsi que d'un compte de développeur Apple. Vous devez également vous inscrire à Everlive pour pouvoir envoyer des notifications en utilisant son service.

Créer le certificat SSL

À ce stade, vous allez créer le certificat SSL à associer. l'application IOS sur le portail des développeurs Apple.

Vous allez d'abord lancer l'application Keychain Access sur votre Mac. Ensuite, allez dans Menu-> Accès au trousseau -> Assistant de certificat -> Demander un certificat à une autorité de certification

Cela affichera l'assistant suivant:

Ici, vous sélectionnez l’option «Saved to disk» (Sauvegardé sur disque), puis, une fois terminé, le fichier. certSigningRequest dans votre mac

. Créez l’app ID

. ID de l'application sur le portail des développeurs Apple. App ID est fondamentalement l'identifiant unique de l'application iOS généralement représenté par une adresse inversée (ex. Com.telerik.EverliveApp). Veuillez noter que cet identifiant ne doit contenir aucun caractère générique (*).

Les étapes permettant de créer un ID d'application sont répertoriées ci-dessous:

  1. Accédez à «Centre pour les développeurs Apple» et sélectionnez «Certificats, identificateurs et profileurs» [19659015] Sélectionnez "Identifiants" dans le menu de gauche.
  2. Sélectionnez Identifiants -> ID app puis en haut à droite puis cliquez sur le bouton "+" pour en créer un nouveau. [19659015] Complétez le formulaire avec “Description de l’ID d’application” et “ID d’application explicite”, qui est l’identificateur de bundle de votre application situé dans le fichier info.plist de votre application.
  3. Sur la même page, sélectionnez les services que vous souhaitez activer. Dans ce cas, j'ai sélectionné "Notifications push".
  4. Appuyez sur "Continuer" pour enregistrer.

Configurer l'identifiant de l'application

La configuration de l'identifiant de l'application inclut la création du développement. certificat pour recevoir les notifications push.

  1. Sélectionnez "identifiants" à l’étape précédente, puis sélectionnez l’ID de l’application nouvellement créée. Ceci affichera l’écran suivant:
  2. Cliquez sur "Modifier" et faites défiler jusqu’à Section Notifications push.
  3. Appuyez sur «Créer un certificat» sous «Certificat SSL de développement». Un assistant vous permettra de télécharger le fichier .certSigningRequest que vous avez enregistré précédemment sur votre mac.
  4. Téléchargez et installez le certificat SSL généré dans votre trousseau.
  5. L'accès au trousseau sera installé dans «Mes certificats». Le certificat doit s'appeler «Apple Push iOS Development Services». Cliquez dessus avec le bouton droit de la souris et sélectionnez «Services de développement Apple Push iOS de développement …» et exportez-le au format .p12 .

Créer un profil d'approvisionnement

Une fois l'ID d'application créé et configuré, l'étape suivante consiste à créer un profil d'approvisionnement basé sur celui-ci afin de déployer l'application dans un périphérique.

La procédure de configuration d'un profil d'approvisionnement est la suivante: : Allez à «Certificats, identités et profils» dans «Centre des développeurs Apple».

  1. Allez à «Certificats, identités et profils» dans «Centre des développeurs Apple».
  2. Sélectionner des profils d'approvisionnement. -> Développement et cliquez sur l’icône «+» dans le coin supérieur droit. Cela vous mènera à créer un nouvel assistant .
  3. Sélectionnez Développement -> Développement d'applications iOS et choisissez l'identifiant d'application créé à l'étape précédente dans la liste déroulante.
  4. Sélectionnez le certificat de développement associé au site. compte développeur (par exemple, développement iOS)
  5. Sélectionnez le périphérique précédemment ajouté au portail (Utilisation de Xcode).
  6. Nommez le profil d'approvisionnement et cliquez sur «Générer». Dans Xcode 5, vous pouvez télécharger ce profil à partir du menu Préférences ou dans la version précédente, vous pouvez faire de même avec l’organisateur.

Configurer Everlive

Le fichier .p12 créé à l'étape précédente doit maintenant être téléchargé sur le portail Everlive. Everlive s'en servira pour envoyer des notifications à un périphérique enregistré via le service de notifications Apple Push (APNS).

Pour ce faire, sélectionnez l'application que vous souhaitez configurer. Allez dans Paramètres-> Notifications Push et téléchargez votre fichier .p12 sous iOS-> Développement.

Enregistrer le périphérique

Pour recevoir des notifications sur un périphérique iOS, vous devez appeler la méthode [application registerForRemoteNotificationTypes:] dans la méthode d'appDelegate [application didFinishedLaunchingWithOptions:]. Ceci demandera à l'utilisateur (la première fois que l'application est exécutée) s'il souhaite autoriser les notifications push pour l'application et une fois qu'il confirme,
la méthode suivante sera appelée:

( vide ) application: (UIApplication *) application didRegisterForRemoteNotificationsWithDeviceToken: (NSData *) newDeviceToken {
[Everlive setDeviceToken:newDeviceToken];
}

Je stocke ici le jeton de périphérique dans la bibliothèque client singleton, qui sera utilisé ultérieurement pour enregistrer le périphérique dans Everlive.

Le nom registerForRemoteNotificationTypes est appelé . , validera l'identifiant et le profil d'application utilisés pour déployer l'application. En cas d'erreur, il appellera la méthode suivante dans le délégué d'application:

( void ) application: (UIApplication *) application didFailToRegisterForRemoteNotificationsWithError: (NSError *) error {
NSLog ( @ "Registration:% @" erreur); avorter();
}

L'appareil est enregistré dans Everlive en appelant la méthode suivante à partir du SDK:

[[Everlive sharedInstance] registerDevice: ^ ( BOOL succès, erreur NSError *) {
// rien pour maintenant.
}];

Si tout se passe bien, l'envoi d'une notification depuis le nuage Everlive appellera la méthode suivante dans le délégué de l'application:

( void . application 🙁 UIApplication *) application didReceiveRemoteNotification: (NSDictionary *) userInfo {
[Everlive handlePush:userInfo];

}

Lorsqu'une notification push est reçue alors que l'application n'est pas au premier plan, elle est gérée par le centre de notification iOS. Toutefois, lorsque l’application est active, il incombe au développeur de gérer la notification dans la méthode susmentionnée. Ici, je viens d'appeler la méthode [Everlive handlePush:userInfo] qui crée une boîte de dialogue UIAlertView pour afficher la notification.

Il est également possible d'annuler l'enregistrement d'un périphérique d'Everlive. Vous pouvez le faire de la manière suivante:

[[Everlive sharedInstance] removeDevice: ^ ( BOOL succès, erreur NSError *) {
// terminé;
}]

. à noter que [Everlive sharedInstance] contient votre clé API par défaut que vous avez initialisée dans le fichier [application didFinishedLaunchingWithOptions:] ou dans le fichier info.plist. Reportez-vous à la section Premiers pas avec le SDK Everlive iOS pour plus d'informations.

De plus, il est également possible de définir des paramètres personnalisés lors de l'enregistrement du périphérique. Cela sera utile pour filtrer une gamme de périphériques d'envoi de notifications push.

Les paramètres peuvent être définis de la manière suivante:

NSDictionary * dictionary = [NSDictionarydictionaryWithObjectsAndKeys: @ "Friends" @ "appName" nil];
[[Everlive sharedInstance] registerDeviceWithParameters: bloc du dictionnaire: ^ ( BOOL succès, erreur NSError *) {
// TODO:
}]

Envoyez des notifications en mode [Push]

Avant de déployer le logiciel app dans un appareil et commencez à recevoir des notifications push. Vous devez définir le profil d'approvisionnement contenant l'ID d'application créé précédemment dans Paramètres de construction -> Signature du code -> Propriété du profil d'approvisionnement

Une fois cela fait, vous pouvez envoyer des notifications à votre appareil à l'aide de la commande suivante:

curl – X POST -H "Type de contenu: application / json"
– data '{"Message": "Exemple de notification push"}' http: // api.everlive.com/v1/ApiKey/Push/Notifications

Cependant, il est également possible d'envoyer des notifications depuis le portail d'administration Everlive. Accédez à l'application -> Notifications push -> Ajouter une nouvelle notification push où vous pouvez filtrer davantage les périphériques en fonction de paramètres personnalisés:

Résumé

Dans cet article, j'ai créé un profil d'approvisionnement à partir de un identifiant d'application avec notification push activée. J'ai ensuite suivi le processus d'enregistrement du périphérique dans Everlive et envoyé une notification à l'aide de curl . Everlive et les fournisseurs équivalents simplifient le processus d'envoi de notifications push à votre appareil. Le service de notification Apple Push transporte et achemine une notification d'un fournisseur donné vers un périphérique donné.

Il est possible d'écrire votre propre fournisseur, mais dans ce cas, vous devez configurer manuellement le dictionnaire de données utiles, valider. appareil et traiter avec la sécurité. De plus, chaque plate-forme gère les notifications push différemment de la même manière qu'Android utilise Google Cloud. Dans ce cas, vous devez implémenter manuellement les fournisseurs pour chaque plate-forme. Everlive, d’autre part, se chargera des détails spécifiques à la plate-forme et transmettra vos notifications à tous les périphériques associés sans vous obliger à passer sous le capot.

Enfin, j’ai ignoré la configuration du SDK Everlive dans Xcode, qui dépasse le portée de cet article. Reportez-vous à la documentation SDK d'origine @ http://docs.everlive.com pour plus d'informations.


Les commentaires sont désactivés en mode Aperçu.




Source link