Créer et envoyer des notifications push
- Rubriques :
- Push
Créé pour :
- Débutant
- Intermédiaire
- Développeur
Découvrez comment créer des notifications push pour les applications mobiles avec Experience Platform Mobile SDK et Journey Optimizer.
Journey Optimizer vous permet de créer des parcours et d’envoyer des messages aux 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, consultez la documentation.
Prérequis
-
Création et exécution réussies 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 ici. Vous devez également disposer des autorisations suffisantes pour accéder aux fonctionnalités de Journey Optimizer ci-après.
- Créez des informations d’identification push.
- Créez une configuration de canal push.
- Création d’un parcours.
- Créez un message.
- Création de préréglages de message.
-
Compte de développeur Apple payant avec un accès suffisant pour créer des certificats, des identifiants et des clés.
-
Périphérique ou simulateur iOS physique à des fins de test.
Objectifs d’apprentissage
Dans cette leçon, vous allez :
- Enregistrez l’ID d’application auprès du service Apple Push Notification (APNs).
- Créez une configuration de canal dans Journey Optimizer.
- Mettez à jour votre schéma pour inclure des 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.
- Envoyer un message de test depuis 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
Enregistrer l’ID d’application auprès d’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 d’APNS.
Création d’une clé privée
-
Dans le portail de développement Apple, accédez à Clés.
-
Pour créer une clé, sélectionnez +.
-
Fournissez un Nom de la clé.
-
Cochez la case Service de notifications push Apple (APNs).
-
Sélectionnez Continuer.
-
Vérifiez la configuration et sélectionnez S’inscrire.
-
Téléchargez la clé privée
.p8
. Il est utilisé dans l’exercice suivant lorsque vous configurez vos informations d’identification push Journey Optimizer. -
Notez l’identifiant Key. Il est utilisé dans l’exercice suivant lorsque vous configurez vos informations d’identification push Journey Optimizer.
-
Notez l’identifiant d’équipe. Il est utilisé dans l’exercice suivant lorsque vous configurez vos informations d’identification push Journey Optimizer.
Une documentation supplémentaire est disponible ici.
Ajout des informations d’identification des notifications push de votre application dans Journey Optimizer
Vous devez ensuite ajouter les informations d’identification des notifications push de votre application mobile dans Journey Optimizer. (Dans les versions antérieures du produit, ces éléments étaient ajoutés dans le cadre de la configuration « Surface d’application » dans la collecte de données).
L'enregistrement des informations d'identification push de l'application mobile est nécessaire pour autoriser Adobe à envoyer des notifications push en votre nom. Reportez-vous aux étapes détaillées ci-dessous :
-
Dans l’interface de Journey Optimizer, ouvrez le menu Canaux > Paramètres push > Informations d’identification push.
-
Sélectionnez Créer des informations d’identification push.
-
Dans la liste déroulante Platform, sélectionnez le système d’exploitation iOS.
-
Saisissez l’ID de bundle de l’application mobile dans le champ ID de l’application (ID de bundle iOS) . Par exemple, com.adobe.luma.tutorial.swiftui.
-
Activez l’option Appliquer à tous les sandbox pour mettre ces informations d’identification push à disposition dans tous les sandbox. Si un sandbox spécifique possède ses propres informations d’identification pour la même paire d’identifiants de plateforme et d’application, ces informations d’identification spécifiques au sandbox sont prioritaires.
-
Effectuez un glisser-déposer de votre fichier .p8 Clé d’authentification de notification push Apple obtenu à partir de l’exercice précédent.
-
Fournissez la Identifiant de clé, une chaîne de 10 caractères attribuée lors de la création de
p8
clé d’authentification. Elle se trouve sous l’onglet Clés de la page Certificats, identifiants et profils du portail Apple Developer. (Vous auriez dû le noter au cours de l’exercice précédent.) -
Indiquez l'identifiant d'équipe. L’ID d’équipe est une valeur qui se trouve sous l’onglet Abonnement ou en haut de la page du portail Apple Developer. (Vous auriez dû le noter au cours de l’exercice précédent.)
-
Cliquez sur Envoyer pour créer votre configuration d’informations d’identification push.
Création d’une configuration de canal pour les notifications push dans Journey Optimizer
Une fois que vous avez créé une configuration d’informations d’identification push, vous devez en créer une pour pouvoir envoyer des notifications push depuis Journey Optimizer.
-
Dans l’interface de Journey Optimizer, ouvrez le menu Canaux > Paramètres généraux > Configurations de canal puis sélectionnez Créer une configuration de canal.
-
Saisissez un nom et une description (facultatif) pour la configuration.
NOTE
Les noms doivent commencer par une lettre (A-Z). Ils ne peuvent contenir que des caractères alphanumériques. Vous pouvez également utiliser le trait de soulignement_
, le point.
et le trait d'union-
. -
Pour attribuer des libellés d’utilisation des données personnalisés ou de base à la configuration, vous pouvez sélectionner Gérer l’accès. En savoir plus sur le contrôle d’accès au niveau de l’objet (OLAC)
-
Sélectionnez le canal Push.
-
Sélectionnez une Action marketing ou plusieurs pour associer des politiques de consentement aux messages utilisant cette configuration. Toutes les politiques de consentement associées à cette action marketing sont utilisées afin de respecter les préférences de vos clientes et clients. En savoir plus sur les actions marketing.
-
Sélectionnez votre Plateforme.
-
Sélectionnez le même ID d’application que pour vos informations d’identification push configurées ci-dessus.
-
Sélectionnez Envoyer pour enregistrer vos modifications.
Mettre à jour la configuration du flux de données
Pour vous assurer que les données envoyées de votre application mobile à Edge Network sont transférées vers Journey Optimizer, mettez à jour votre configuration Experience Edge .
-
Dans l’interface utilisateur de collecte de données, sélectionnez Flux de données, puis sélectionnez votre flux de données, par exemple Luma Mobile App.
-
Sélectionnez
-
Dans l’écran Flux de données >
-
Si ce n’est pas déjà fait, sélectionnez Jeu de données de profil push AJO dans Jeu de données de profil. Ce jeu de données de profil est requis lors de l’utilisation de l’appel API
MobileCore.setPushIdentifier
(voir Enregistrer le jeton d’appareil pour les notifications push), ce 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é. Voir Paramètres Adobe Experience Platform pour plus d'informations.
-
Pour enregistrer la configuration de votre 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 votre propriété de balise.
-
Accédez à Balises > Extensions > Catalogue,
-
Ouvrez votre propriété, par exemple Luma Mobile App Tutorial.
-
Sélectionnez Catalogue.
-
Recherchez l’extension Adobe Journey Optimizer.
-
Installez l’extension .
-
Dans la boîte de dialogue Installer l’extension
-
Sélectionnez un environnement, par exemple Développement.
-
Sélectionnez le jeu de données Jeu de données d’événement d’expérience de suivi des notifications push AJO dans la liste Jeu de données d’événement.
-
Sélectionnez Enregistrer dans la bibliothèque et créer.
-
Validation de la configuration avec Assurance
-
Consultez la section instructions de configuration pour connecter votre simulateur ou votre appareil à Assurance.
-
Dans l’interface utilisateur d’Assurance, sélectionnez Configurer.
-
Sélectionnez
-
Sélectionnez Enregistrer.
-
Sélectionnez Débogage push dans le volet de navigation de gauche.
-
Sélectionnez l’onglet Valider la configuration.
-
Sélectionnez votre appareil dans la liste Client.
-
Vérifiez que vous n’obtenez aucune erreur.
-
Sélectionnez l’onglet Envoyer le push de test.
-
(facultatif) Modifiez les détails par défaut pour Titre et Corps
-
Sélectionnez
-
Vérifiez le Résultats du test.
-
La notification push de test devrait apparaître dans votre application.
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électionnez Luma dans l’explorateur de projets.
-
Sélectionnez la cible Luma.
-
Sélectionnez l’onglet Signature et fonctionnalités.
-
Configurez Gestion automatique de la signature, Équipe et Identifiant de bundle, ou utilisez vos informations d’attribution de privilèges d’accès de développement Apple spécifiques.
IMPORTANT
Veillez à utiliser un identifiant de lot unique et à remplacer l’identifiant de lotcom.adobe.luma.tutorial.swiftui
, car chaque identifiant de lot doit être unique. En règle générale, vous utilisez un format de DNS inversé pour les chaînes d’ID de lot, telles quecom.organization.brand.uniqueidentifier
. La version terminée de ce tutoriel, par exemple, utilisecom.adobe.luma.tutorial.swiftui
.
Ajout de fonctionnalités de notification push à votre application
-
Dans Xcode, sélectionnez Luma dans la liste TARGETS, sélectionnez l’onglet Signing & Capabilities, cliquez sur le bouton + Capability, 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 à l’onglet General et sélectionnez l’icône + au bas de la section TARGETS.
-
Vous êtes invité à sélectionner le modèle pour votre nouvelle cible. Sélectionnez Extension du service de notification puis sélectionnez Suivant.
-
Dans la fenêtre suivante, utilisez
NotificationExtension
comme nom d’extension et cliquez sur le bouton Terminer.
Vous devriez maintenant avoir une extension de notification push ajoutée à votre application, similaire à l'écran ci-dessous.
Implémentation de Journey Optimizer dans l’application
Comme nous l’avons vu 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, consultez la section Installation des SDK.
-
Dans Xcode, assurez-vous que AEP Messaging est ajouté à la liste des packages dans Dépendances de packages. Voir Gestionnaire de packages Swift.
-
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 d’extensions que vous enregistrez.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 ]
Enregistrer le jeton de l’appareil pour les notifications push
-
Ajoutez l’API
MobileCore.setPushIdentifier
à la fonctionfunc application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
.// Send push token to Mobile SDK MobileCore.setPushIdentifier(deviceToken)
Cette fonction récupère le jeton d’appareil propre à l’appareil 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 définie et qui repose sur le service de notification push Apple (APNs).
MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true])
détermine si les notifications push utilisent un sandbox APNs 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 messaging.useSandbox
est définie sur true
afin de recevoir des notifications push. Lors du déploiement de votre application pour production ou test à l’aide d’Apple Testflight, assurez-vous de messaging.useSandbox
définir sur 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 qui se charge de son envoi.
Mise à jour du 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électionnez 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 le champ eventType.
-
Dans le volet 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électionnez Ajouter une ligne et ajoutez
application.test
comme VALEUR etTest event for push notification
commeDISPLAY 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 de manière unitaire 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 l’écran Tableau de bord, cliquez sur le bouton Gérer dans la mosaïque Événements.
-
Dans l’écran Événements, sélectionnez Créer un événement.
-
Dans le volet Modifier l’événement1 :
-
Saisissez
LumaTestEvent
comme 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 dans la liste Schéma, par exemple Luma Mobile App Event Schema v.1.
-
Sélectionnez
Dans la boîte de dialogue 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). À l’aide de la liste déroulante, vous pouvez basculer entre Sélectionné, Tous et Principal ou utiliser le champ
- Identifiant de l’application (id),
- Type d’événement (eventType),
- Principal (principal).
Sélectionnez ensuite Ok.
-
Sélectionnez
-
Dans la boîte de dialogue Ajouter une condition d’identifiant d’événement, effectuez un glisser-déposer Type d’événement (eventType) sur pour 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 (qui correspond au type d’événement que vous avez ajouté précédemment à la liste des types d’événement dans le cadre de Mettre à jour votre schéma). Faites ensuite défiler l’écran jusqu’en haut et sélectionnez Ok.
-
Sélectionnez Ok pour enregistrer la condition.
-
-
Sélectionnez ECID (ECID) dans la liste Espace de noms. Le champ Identifiant du profil est automatiquement renseigné avec L’identifiant du premier élément de l’ECID de clé pour le mappage 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 filtre les événements d’expérience entrants à l’aide de votre type d’événement spécifique (application.test
). Ainsi, seuls les événements de ce type spécifique, déclenché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 à partir d’un service externe. Toutefois, les mêmes concepts s’appliquent : de l’application externe, envoyez un événement d’expérience dans Experience Platform qui comporte des champs spécifiques que vous pouvez utiliser pour appliquer des conditions sur 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électionnez Créer un Parcours.
-
Dans le panneau Propriétés du Parcours :
-
Saisissez un Nom pour le parcours, par exemple
Luma - Test Push Notification Journey
. -
Saisissez une Description pour le parcours, par exemple
Journey for test push notifications in Luma mobile app
. -
Assurez-vous que l’option Autoriser la reprise est sélectionnée et définissez Période d’attente de reprise sur 30 Secondes.
-
Cliquez sur OK.
-
-
De retour dans la zone de travail de parcours, à partir de l’ÉVÉNEMENTS, faites glisser et déposez votre LumaTestEvent
- Dans le panneau Événements : LumaTestEvent, saisissez un Libellé, par exemple
Luma Test Event
.
- Dans le panneau Événements : LumaTestEvent, saisissez un Libellé, par exemple
-
Dans la liste déroulante ACTIONS, effectuez un glisser-déposer
-
Fournissez un Libellé, par exemple
Luma Test Push Notification
, fournissez un Description par exempleTest push notification for Luma mobile app
, sélectionnez Transactionnel dans la liste Catégorie et sélectionnez Luma dans la surface Push. -
Sélectionnez
Dans l’éditeur Notification push :
-
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 doit se présenter comme suit : Sélectionnez Publier pour publier et activer votre parcours.
Déclencher la notification push
Tous les ingrédients sont en place pour envoyer une notification push. Il reste à savoir comment déclencher cette notification push. En substance, il est identique à ce que vous avez vu auparavant : il vous suffit d’envoyer un événement d’expérience avec la payload appropriée (comme dans Events).
Cette fois, l’événement d’expérience que vous êtes sur le point d’envoyer n’est pas créé pour créer un dictionnaire XDM simple. Vous allez utiliser un struct
représentant une payload de notification push. La définition d’un type de données dédié est une autre manière d’implémenter 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, puis inspectez le code.
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
{ "eventType": string, "application" : [ "id": string ] }
-
Accédez à Luma > Luma > Utils > MobileSDK dans le navigateur de projet Xcode, puis ajoutez le code suivant à
func sendTestPushEvent(applicationId: String, eventType: String)
:// 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 instance de
testPushPayload
à l’aide des paramètres fournis à la fonction (applicationId
eteventType
), puis appellesendExperienceEvent
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 en utilisant le modèle de simultanéité 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 d’événement d’expérience de notification push de test afin de déclencher votre parcours chaque fois que vous appuyez sur ce bouton.
// 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 l’application
-
Recréez et exécutez l’application dans le simulateur ou sur un appareil physique à partir de Xcode, à l’aide de
-
Accédez à l’onglet Paramètres.
-
Appuyez sur Notification push. La notification push apparaît dans votre application.
Étapes suivantes
Vous devriez maintenant disposer de tous les outils nécessaires pour gérer les notifications push dans votre application. Par exemple, vous pouvez créer un parcours dans Journey Optimizer 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 limite géographique d'un emplacement (comme vous le verrez dans la leçon Places).
Suivant : créer et envoyer des messages in-app