Créer et envoyer des notifications push
Découvrez comment créer des notifications push pour les applications mobiles avec le SDK Mobile Experience Platform et Journey Optimizer.
Journey Optimizer vous permet de créer des parcours et d’envoyer des messages à des audiences ciblées. Avant d’envoyer des notifications push avec Journey Optimizer, vous devez vous assurer que les configurations et intégrations appropriées sont en place. Pour comprendre le flux de données des notifications push dans Journey Optimizer, reportez-vous au documentation.
Conditions préalables
-
Création et exécution de l’application avec les SDK installés et configurés.
-
Configurez l’application pour Adobe Experience Platform.
-
Accès à Journey Optimizer et autorisations suffisantes, comme décrit here. Vous avez également besoin d’une autorisation suffisante pour accéder aux fonctionnalités Journey Optimizer suivantes.
- Créez une surface d’application.
- Créez un parcours.
- Créez un message.
- Créer des paramètres prédéfinis de message.
-
Compte de développeur Apple payant avec un accès suffisant pour créer des certificats, des identifiants et des clés.
-
Appareil ou simulateur iOS physique à tester.
Objectifs d'apprentissage
Dans cette leçon, vous allez
- Enregistrez l’ID d’application avec le service Apple Push Notification (APNS).
- Créez une surface d’application dans Journey Optimizer.
- Mettez à jour votre schéma pour inclure les champs de messagerie push.
- Installez et configurez l’extension de balise Journey Optimizer.
- Mettez à jour votre application pour enregistrer l’extension de balise Journey Optimizer.
- Validez la configuration dans Assurance.
- Envoi d’un message de test à partir d’Assurance
- Définissez votre propre événement, parcours et expérience de notification push dans Journey Optimizer.
- Envoyez votre propre notification push depuis l’application.
Configuration
Enregistrement de l’ID d’application avec des APNS
Les étapes suivantes ne sont pas spécifiques à Adobe Experience Cloud et sont conçues pour vous guider tout au long de la configuration des APNS.
Création d’une clé privée
-
Sur le portail destiné aux développeurs Apple, accédez à Clés.
-
Pour créer une clé, sélectionnez +.
-
Fournissez une Nom de la clé.
-
Sélectionnez la variable Service de notification push Apple (APNS) .
-
Sélectionnez Continuer.
-
Vérifiez la configuration et sélectionnez Enregistrer.
-
Téléchargez la
.p8
clé privée. Il est utilisé dans la configuration Surface de l’application plus loin dans cette leçon. -
Prenez note de la ID de clé. Il est utilisé dans la configuration Surface de l’application.
-
Prenez note de la Identifiant de l’équipe. Il est utilisé dans la configuration Surface de l’application.
Une documentation supplémentaire peut être se trouve ici.
Ajout d’une surface d’application dans la collecte de données
-
Dans la Interface de collecte de données, sélectionnez Surfaces de l’application dans le panneau de gauche.
-
Pour créer une configuration, sélectionnez Créer une surface d’application.
-
Saisissez un Nom pour la configuration, par exemple
Luma App Tutorial
. -
De Configuration des applications mobiles, sélectionnez Apple iOS.
-
Saisissez l’ID du lot de l’application mobile dans la ID d’application (ID de bundle iOS) champ . Par exemple :
com.adobe.luma.tutorial.swiftui
. -
Activez l’option Informations d’identification push pour ajouter vos informations d’identification.
-
Faites glisser et déposez votre
.p8
Clé d’authentification des notifications push Apple fichier . -
Fournissez les ID de clé, chaîne de 10 caractères attribuée lors de la création de la variable
p8
clé auth. Elle se trouve sous la variable Clés dans le Certificats, identifiants et profils page des pages du portail des développeurs Apple. Voir aussi Création d’une clé privée. -
Indiquez l'identifiant d'équipe. L’ ID d’équipe est une valeur qui se trouve sous la variable Abonnement ou dans la partie supérieure de la page Portail des développeurs Apple. Voir aussi Création d’une clé privée.
-
Sélectionnez Enregistrer.
Mise à jour de la configuration des flux de données
Pour vous assurer que les données envoyées de votre application mobile au réseau Edge sont transférées vers Journey Optimizer, mettez à jour votre configuration Experience Edge .
-
Dans l’interface utilisateur de la collecte de données, sélectionnez Datastreams, puis sélectionnez votre flux de données, par exemple Luma Mobile App.
-
Sélectionner pour Experience Platform et sélectionnez Modifier dans le menu contextuel.
-
Dans le Datastreams > > Adobe Experience Platform écran :
-
Si elle n’est pas déjà sélectionnée, sélectionnez Jeu de données de profil push AJO de Jeu de données de profil. Ce jeu de données de profil est requis lors de l’utilisation de la variable
MobileCore.setPushIdentifier
appel API (voir Enregistrement du jeton de périphérique pour les notifications push) qui garantit que l’identifiant unique des notifications push (ou identifiant push) est stocké dans le profil de l’utilisateur. -
Adobe Journey Optimizer est sélectionnée. Voir Paramètres Adobe Experience Platform pour plus d’informations.
-
Pour enregistrer votre configuration de flux de données, sélectionnez Enregistrer.
-
Installation de l’extension de balises Journey Optimizer
Pour que votre application fonctionne avec Journey Optimizer, vous devez mettre à jour la propriété de balise.
-
Accédez à Balises > Extensions > Catalogue,
-
Ouvrez votre propriété, par exemple Luma Mobile App Tutorial.
-
Sélectionner Catalogue.
-
Recherchez le Adobe Journey Optimizer extension .
-
Installez l’extension .
-
Dans le Installer l’extension dialog
-
Sélectionnez un environnement, par exemple Développement.
-
Sélectionnez la variable Jeu de données d’événement de suivi push AJO jeu de données à partir du Jeu de données d’événement liste.
-
Sélectionner Enregistrer dans la bibliothèque et créer.
-
Validation de la configuration avec Assurance
-
Consultez la section instructions de configuration pour connecter le simulateur ou l’appareil à Assurance.
-
Dans l’interface utilisateur d’assurance, sélectionnez Configurer.
-
Sélectionner en regard de Débogage Push.
-
Sélectionnez Enregistrer.
-
Sélectionner Débogage Push dans le volet de navigation de gauche.
-
Sélectionnez la variable Validation de la configuration .
-
Sélectionnez votre périphérique dans le Client liste.
-
Confirmez que vous n’obtenez aucune erreur.
-
Sélectionnez la variable Envoyer le test push .
-
(Facultatif) Modifiez les détails par défaut de la variable Titre et Corps
-
Sélectionner Envoi de la notification push de test.
-
Vérifiez les Résultats du test.
-
La notification push de test devrait apparaître dans votre application.
img-md w-300
Signature
La signature de l’application Luma est nécessaire pour envoyer des notifications push et nécessite un compte de développeur Apple payant.
Pour mettre à jour la signature de votre application :
-
Accédez à votre application dans Xcode.
-
Sélectionner Luma dans le navigateur de projet.
-
Sélectionnez la variable Luma cible.
-
Sélectionnez la variable Signature et fonctionnalités .
-
Configurer Gestion automatique de la signature, Équipe, et Identifiant du lot ou utilisez les détails de mise en service du développement Apple spécifiques.
note important IMPORTANT Assurez-vous d’utiliser une unique identifiant de lot et remplacez la variable com.adobe.luma.tutorial.swiftui
identifiant de lot, car chaque identifiant de lot doit être unique. En règle générale, vous utilisez un format DNS inversé pour les chaînes d’ID de lot, commecom.organization.brand.uniqueidentifier
. La version Terminée de ce tutoriel, par exemple, utilisecom.adobe.luma.tutorial.swiftui
.{zoomable="yes"}
Ajout de fonctionnalités de notification push à votre application
-
Dans Xcode, sélectionnez Luma de la CIBLES , sélectionnez la variable Signature et fonctionnalités , sélectionnez l’onglet + Fonctionnalité , puis sélectionnez Notifications push. Cela permet à votre application de recevoir des notifications push.
-
Vous devez ensuite ajouter une extension de notification à l’application. Revenez au General et sélectionnez l’option + en bas de la page CIBLES .
-
Vous êtes invité à sélectionner le modèle correspondant à votre nouvelle cible. Sélectionner Extension du service de notification puis sélectionnez Suivant.
-
Dans la fenêtre suivante, utilisez
NotificationExtension
comme nom de l’extension et cliquez sur le bouton Terminer bouton .
Une extension de notification push doit maintenant être ajoutée à votre application, comme dans l’écran ci-dessous.
Mise en oeuvre de Journey Optimizer dans l’application
Comme indiqué dans les leçons précédentes, l’installation d’une extension de balise mobile fournit uniquement la configuration. Vous devez ensuite installer et enregistrer le SDK de messagerie. Si ces étapes ne sont pas claires, passez en revue la Installation des SDK .
-
Dans Xcode, assurez-vous que Messagerie AEP est ajouté à la liste des modules dans les dépendances de modules. Voir Swift Package Manager.
-
Accédez à Luma > Luma > AppDelegate dans le navigateur de projet Xcode.
-
Assurez-vous que
AEPMessaging
fait partie de votre liste d’importations.import AEPMessaging
-
Assurez-vous que
Messaging.self
fait partie du tableau des extensions que vous enregistrez.code language-swift let extensions = [ AEPIdentity.Identity.self, Lifecycle.self, Signal.self, Edge.self, AEPEdgeIdentity.Identity.self, Consent.self, UserProfile.self, Places.self, Messaging.self, Optimize.self, Assurance.self ]
Enregistrement du jeton de périphérique pour les notifications push
-
Ajoutez la variable
MobileCore.setPushIdentifier
de l’APIfunc application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
de la fonctioncode language-swift // Send push token to Mobile SDK MobileCore.setPushIdentifier(deviceToken)
Cette fonction récupère le jeton de l’appareil unique sur lequel l’application est installée. Définit ensuite le jeton pour la diffusion de la notification push à l’aide de la configuration que vous avez configurée et qui repose sur le service Apple Push Notification (APN).
MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true])
détermine si les notifications push utilisent un environnement de test APN ou un serveur de production pour envoyer des notifications push. Lors du test de votre application dans le simulateur ou sur un appareil, assurez-vous que la variable messaging.useSandbox
est défini sur true
vous recevez donc des notifications push. Lorsque vous déployez votre application en production pour effectuer des tests à l’aide d’Apple Testflight, assurez-vous que vous définissez messaging.useSandbox
to false
sinon votre application de production ne pourra pas recevoir de notifications push.Créer votre propre notification push
Pour créer votre propre notification push, vous devez définir un événement dans Journey Optimizer qui déclenche un parcours chargé de l'envoi d'une notification push.
Mettre à jour votre schéma
Vous allez définir un nouveau type d’événement, qui n’est pas encore disponible dans la liste des événements définis dans votre schéma. Vous utiliserez ce type d’événement ultérieurement lors du déclenchement des notifications push.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Schémas dans le rail de gauche.
-
Sélectionner Parcourir dans la barre d’onglets.
-
Sélectionnez votre schéma, par exemple Luma Mobile App Event Schema pour l’ouvrir.
-
Dans l’éditeur de schémas :
-
Sélectionnez la variable eventType champ .
-
Dans le Propriétés du champ , faites défiler l’écran vers le bas pour afficher la liste des valeurs possibles pour le type d’événement. Sélectionner Ajouter une ligne et ajoutez
application.test
comme la propriété VALEUR etTest event for push notification
comme la propriétéDISPLAY NAME
. -
Sélectionnez Appliquer.
-
Sélectionnez Enregistrer.
-
Définition d’un événement
Les événements dans Journey Optimizer vous permettent de déclencher vos parcours unitairement pour envoyer des messages, par exemple des notifications push. Voir À propos des événements pour plus d’informations.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Configurations dans le rail de gauche.
-
Dans le Tableau de bord sélectionnez l’écran Gérer dans le Événements mosaïque.
-
Dans le Événements écran, sélectionnez Créer un événement.
-
Dans le Modifier event1 Volet :
-
Entrée
LumaTestEvent
comme la propriété Nom de l’événement . -
Fournissez une Description, par exemple
Test event to trigger push notifications in Luma app
. -
Sélectionnez le schéma d’événement d’expérience d’application mobile que vous avez créé précédemment dans Créer un schéma XDM de la Schéma liste, par exemple Luma Mobile App Event Schema v.1.
-
Sélectionner en regard de Champs liste.
Dans le Champs , assurez-vous que les champs suivants sont sélectionnés (en plus des champs par défaut qui sont toujours sélectionnés (_id, id, et timestamp). Vous pouvez basculer entre les Sélectionné, Tous et Principal ou utilisez la fonction champ .
- Application identifiée (id),
- Type d’événement (eventType),
- Principal (principal).
Sélectionnez Ok.
-
Sélectionner en regard de Condition d’identifiant d’événement champ .
-
Dans le Ajout d’une condition d’identifiant d’événement boîte de dialogue, glisser-déposer Type d’événement (eventType) à Faire glisser et déposer un élément ici.
-
Dans la fenêtre contextuelle, faites défiler l’écran vers le bas et sélectionnez application.test (type d’événement que vous avez ajouté précédemment à la liste des types d’événement dans le Mettre à jour votre schéma). Faites ensuite défiler l’écran vers le haut et sélectionnez Ok.
-
Sélectionner Ok pour enregistrer la condition.
-
-
Sélectionner ECID (ECID) de la Espace de noms liste. Automatiquement la variable Identifiant de profil est renseigné par ID du premier élément de l’ECID clé pour la carte identityMap.
-
Sélectionnez Enregistrer.
-
Vous venez de créer une configuration d’événement basée sur le schéma d’événements d’expérience d’application mobile que vous avez créé précédemment dans le cadre de ce tutoriel. Cette configuration d’événement filtrera les événements d’expérience entrants à l’aide de votre type d’événement spécifique (application.test
), de sorte que seuls les événements de ce type spécifique, lancés à partir de votre application mobile, déclencheront le parcours que vous créez à l’étape suivante. Dans un scénario réel, vous souhaiterez peut-être envoyer des notifications push depuis un service externe. Toutefois, les mêmes concepts s’appliquent : depuis l’application externe, envoyez un événement d’expérience dans un Experience Platform contenant des champs spécifiques sur lesquels vous pouvez appliquer des conditions avant que ces événements ne déclenchent un parcours.
Création du parcours
L’étape suivante consiste à créer le parcours qui déclenche l’envoi de la notification push lors de la réception de l’événement approprié.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Parcours dans le rail de gauche.
-
Sélectionner Créer un Parcours.
-
Dans le Propriétés du parcours panel :
-
Saisissez un Nom pour le parcours, par exemple
Luma - Test Push Notification Journey
. -
Saisissez un Description pour le parcours, par exemple
Journey for test push notifications in Luma mobile app
. -
Assurez-vous que Autoriser une rentrée est sélectionné et défini. Période d’attente de rentrée to 30 Secondes.
-
Cliquez sur OK.
-
-
De retour dans la zone de travail du parcours, à partir de la ÉVÉNEMENTS, effectuez un glisser-déposer de la LumaTestEvent sur la zone de travail dans laquelle elle s’affiche Sélectionner un événement d’entrée ou une activité de lecture d’audience.
- Dans le Événements : LumaTestEvent , saisissez une Libellé, par exemple
Luma Test Event
.
- Dans le Événements : LumaTestEvent , saisissez une Libellé, par exemple
-
Dans la ACTIONS menu déroulant, glisser-déposer Push sur le apparaissant à droite de votre LumaTestEvent activité. Dans le Actions : Push Volet :
-
Fournissez une Libellé, par exemple
Luma Test Push Notification
, fournissez une Description, par exempleTest push notification for Luma mobile app
, sélectionnez Transactionnel de la Catégorie répertorier et sélectionner Luma de la Surface push. -
Sélectionner Modifier le contenu pour commencer à modifier la notification push réelle.
Dans le Notification push editor:
-
Saisissez un Titre, par exemple
Luma Test Push Notification
et saisissez un Corps, par exempleTest push notification for Luma mobile app
. -
Vous pouvez éventuellement saisir un lien vers une image (.png ou .jpg) dans Ajouter un média. Si vous le faites, l’image fera partie de la notification push.
-
Pour enregistrer et quitter l’éditeur, sélectionnez .
-
-
Pour enregistrer et terminer la définition de la notification push, sélectionnez Ok.
-
-
Votre parcours devrait ressembler à celui-ci. Sélectionner Publier pour publier et activer votre parcours.
Déclencher la notification push
Vous avez tous les ingrédients en place pour envoyer une notification push. Reste à savoir comment déclencher cette notification push. Essentiellement, c’est la même chose que précédemment : envoyez simplement un événement d’expérience avec la charge utile appropriée (comme dans Événements).
Cette fois, l’événement d’expérience que vous êtes sur le point d’envoyer n’est pas créé en créant un dictionnaire XDM simple. Vous allez utiliser une struct
représentant une payload de notification push. La définition d’un type de données dédié est une autre manière de mettre en oeuvre la création de payloads d’événement d’expérience dans votre application.
-
Accédez à Luma > Luma > Modèle > XDM > TestPushPayload dans le navigateur de projet Xcode et examinez le code.
code language-swift import Foundation // MARK: - TestPush struct TestPushPayload: Codable { let application: Application let eventType: String } // MARK: - Application struct Application: Codable { let id: String }
Le code est une représentation de la payload simple suivante que vous allez envoyer pour déclencher votre parcours de notification push de test.
code language-json { "eventType": string, "application" : [ "id": string ] }
-
Accédez à Luma > Luma > Utils > MobileSDK dans le navigateur de projet Xcode et ajoutez le code suivant à
func sendTestPushEvent(applicationId: String, eventType: String)
:code language-swift // Create payload and send experience event Task { let testPushPayload = TestPushPayload( application: Application( id: applicationId ), eventType: eventType ) // send the final experience event await sendExperienceEvent( xdm: testPushPayload.asDictionary() ?? [:] ) }
Ce code crée une
testPushPayload
à l’aide des paramètres fournis à la fonction (applicationId
eteventType
), puis les appelssendExperienceEvent
lors de la conversion de la payload en dictionnaire. Cette fois-ci, ce code prend également en compte les aspects asynchrones de l’appel du SDK Adobe Experience Platform à l’aide du modèle d’accès simultané de Swift basé surawait
etasync
. -
Accédez à Luma > Luma > Views > General > ConfigView dans le navigateur de projet Xcode. Dans la définition du bouton de notification push, ajoutez le code suivant pour envoyer la payload de l’événement d’expérience de notification push de test afin de déclencher votre parcours lorsque ce bouton est activé.
code language-swift // Setting parameters and calling function to send push notification Task { let eventType = testPushEventType let applicationId = Bundle.main.bundleIdentifier ?? "No bundle id found" await MobileSDK.shared.sendTestPushEvent(applicationId: applicationId, eventType: eventType) }
Validation à l’aide de votre application
-
Recréez et exécutez l’application dans le simulateur ou sur un appareil physique à partir de Xcode, en utilisant .
-
Accédez au Paramètres .
-
Appuyer Notification push. La notification push apparaît dans votre application.
img-md w-300
Étapes suivantes
Vous devriez maintenant disposer de tous les outils pour gérer les notifications push dans votre application. Par exemple, vous pouvez créer dans Journey Optimizer un parcours qui envoie une notification push de bienvenue lorsqu’un utilisateur de l’application se connecte. Ou une notification push de confirmation lorsqu’un utilisateur achète un produit dans l’application. Ou entre dans la clôture virtuelle d’un emplacement (comme vous le verrez dans la variable Places leçon).
Suivant : Créer et envoyer des messages in-app