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 à la documentation.

Architecture

NOTE
Cette leçon est facultative et s’applique uniquement aux utilisateurs de Journey Optimizer qui souhaitent envoyer des notifications push.

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 ici. 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 disposant d’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

TIP
Si vous avez déjà configuré votre environnement dans le cadre de la leçon Messagerie in-app Journey Optimizer, vous avez peut-être déjà effectué certaines des étapes de cette section de 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

  1. Sur le portail destiné aux développeurs Apple, accédez à Clés.

  2. Pour créer une clé, sélectionnez +.
    créer une clé

  3. Fournissez un nom de clé.

  4. Cochez la case Service de notification push Apple (APNS) .

  5. Sélectionnez Continuer.
    configurer une nouvelle clé

  6. Vérifiez la configuration et sélectionnez Enregistrer.

  7. Téléchargez la clé privée .p8. Il est utilisé dans la configuration Surface de l’application plus loin dans cette leçon.

  8. Prenez note de l'ID de clé. Il est utilisé dans la configuration Surface de l’application.

  9. Prenez note de l'ID d'équipe. Il est utilisé dans la configuration Surface de l’application.
    Détails de la clé

Vous trouverez de la documentation supplémentaire ici.

Ajout d’une surface d’application dans la collecte de données

  1. Dans l’ interface de collecte de données, sélectionnez App Surfaces dans le panneau de gauche.

  2. Pour créer une configuration, sélectionnez Créer une surface d’application.
    app surface home

  3. Saisissez un Nom pour la configuration, par exemple Luma App Tutorial .

  4. Dans Configuration d'application mobile, sélectionnez Apple iOS.

  5. Saisissez l’ID du lot de l’application mobile dans le champ ID de l’application (ID du lot iOS) . Par exemple, com.adobe.luma.tutorial.swiftui.

  6. Activez la bascule Push Credentials (Informations d’identification push) pour ajouter vos informations d’identification.

  7. Faites glisser et déposez votre fichier .p8 Apple Push Notification Authentication Key .

  8. Fournissez l’ ID de clé, une chaîne de 10 caractères attribuée lors de la création de la clé d’authentification p8. Elle se trouve sous l’onglet Clés de la page Certificats, identifiants et profils des pages du portail du développeur Apple. Voir aussi Création d’une clé privée.

  9. Indiquez l'identifiant d'équipe. L’ID d’équipe est une valeur qui se trouve sous l’onglet Adhésion ou en haut de la page du portail des développeurs Apple. Voir aussi Création d’une clé privée.

  10. Sélectionnez Enregistrer.

    Configuration de la surface de l’application

Mise à jour de la configuration des flux de données

Pour vous assurer que les données envoyées de votre application mobile à l’Edge Network sont transférées vers Journey Optimizer, mettez à jour votre configuration Experience Edge .

  1. 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.

  2. Sélectionnez Plus pour Experience Platform et Modifier Modifier dans le menu contextuel.

  3. Dans l’écran Datastreams > Folder > Adobe Experience Platform :

    1. Si cette option n’est pas déjà sélectionnée, sélectionnez Jeu de données de profil push AJO dans le jeu de données de profil. Ce jeu de données de profil est requis lors de l’utilisation de l’appel de l’API MobileCore.setPushIdentifier (voir Enregistrer le jeton de l’appareil pour les notifications push) qui garantit que l’identifiant unique des notifications push (ou l’identifiant push) est stocké dans le profil de l’utilisateur.

    2. Adobe Journey Optimizer est sélectionné. Voir Paramètres Adobe Experience Platform pour plus d’informations.

    3. Pour enregistrer votre configuration de flux de données, sélectionnez Enregistrer.

    configuration de flux de données AEP

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.

  1. Accédez à Balises > Extensions > Catalogue,

  2. Ouvrez votre propriété, par exemple Luma Mobile App Tutorial.

  3. Sélectionnez Catalog.

  4. Recherchez l’extension Adobe Journey Optimizer.

  5. Installez l’extension .

  6. Dans la boîte de dialogue Installer l’extension

    1. Sélectionnez un environnement, par exemple Développement.

    2. Sélectionnez le jeu de données Jeu de données d’événement de suivi d’expérience AJO dans la liste Jeu de données d’événement.

    3. Sélectionnez Enregistrer dans la bibliothèque et créer.

      Paramètres de l’extension AJO

NOTE
Si vous ne voyez pas l’option Jeu de données d’événement d’expérience de suivi push AJO comme option, contactez l’assistance clientèle.

Validation de la configuration avec Assurance

  1. Consultez la section instructions de configuration pour connecter votre simulateur ou périphérique à Assurance.

  2. Dans l’interface utilisateur d’assurance, sélectionnez Configurer.
    configurer le clic

  3. Sélectionnez Plus en regard de Débogage push.

  4. Sélectionnez Enregistrer.
    save

  5. Sélectionnez Débogage push dans le volet de navigation de gauche.

  6. Sélectionnez l’onglet Valider la configuration .

  7. Sélectionnez votre appareil dans la liste Client.

  8. Confirmez que vous n’obtenez aucune erreur.
    validate

  9. Sélectionnez l’onglet Envoyer le test push .

  10. (Facultatif) Modifiez les détails par défaut pour Title et Body

  11. Sélectionnez Bogue Envoyer la notification push de test.

  12. Vérifiez les résultats du test.

  13. La notification push de test devrait apparaître dans votre application.

    {width="300"}

Signature

La signature de l’application Luma est nécessaire pour envoyer des notifications push et nécessite un compte développeur Apple payant.

Pour mettre à jour la signature de votre application :

  1. Accédez à votre application dans Xcode.

  2. Sélectionnez Luma dans le navigateur de projet.

  3. Sélectionnez la cible Luma.

  4. Sélectionnez l’onglet Signing & Capabilities .

  5. Configurez la gestion automatique de la signature, Team et Bundle Identifier, ou utilisez vos détails de mise en service de développement Apple spécifiques.

    note important
    IMPORTANT
    Assurez-vous d’utiliser un identifiant de lot unique et remplacez l’identifiant de lot com.adobe.luma.tutorial.swiftui, 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, comme com.organization.brand.uniqueidentifier. La version terminée de ce tutoriel, par exemple, utilise com.adobe.luma.tutorial.swiftui.

    Fonctionnalités de signature Xcode {modal="regular"}

Ajout de fonctionnalités de notification push à votre application

IMPORTANT
Pour mettre en oeuvre et tester la notification push dans une application iOS, vous devez disposer d’un compte de développeur Apple paid. Si vous ne disposez pas d’un compte de développeur Apple payant, vous pouvez ignorer le reste de cette leçon.
  1. Dans Xcode, sélectionnez Luma dans la liste TARGETS, sélectionnez l’onglet Signing & Capabilities, cliquez sur le bouton + Capability, puis sélectionnez Push Notifications. Cela permet à votre application de recevoir des notifications push.

  2. 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 .

  3. Vous êtes invité à sélectionner le modèle correspondant à votre nouvelle cible. Sélectionnez Extension du service de notification, puis Suivant.

  4. Dans la fenêtre suivante, utilisez NotificationExtension comme nom de l'extension et cliquez sur le bouton Terminer .

Une extension de notification push doit maintenant être ajoutée à votre application, comme dans l’écran ci-dessous.

Extension de notifications push

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, consultez la section Installer les SDK .

NOTE
Si vous avez terminé la section Installer les SDK , le SDK est déjà installé et vous pouvez ignorer cette étape.
  1. Dans Xcode, assurez-vous que AEP Messaging est ajouté à la liste des packages dans les dépendances de modules. Voir Swift Package Manager.

  2. Accédez à Luma > Luma > AppDelegate dans le navigateur de projet Xcode.

  3. Assurez-vous que AEPMessaging fait partie de votre liste d’importations.

    import AEPMessaging

  4. Vérifiez 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

  1. Ajoutez l’API MobileCore.setPushIdentifier à la fonction func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data).

    code 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).

IMPORTANT
L’ 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 messaging.useSandbox est défini sur true afin de recevoir des notifications push. Lors du déploiement de votre application pour production afin de tester à l’aide d’Apple Testflight, assurez-vous que vous avez défini messaging.useSandbox sur false sans quoi 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.

  1. Dans l’interface utilisateur de Journey Optimizer, sélectionnez Schémas dans le rail de gauche.

  2. Sélectionnez Parcourir dans la barre d’onglets.

  3. Sélectionnez votre schéma, par exemple Luma Mobile App Event Schema pour l’ouvrir.

  4. Dans l’éditeur de schémas :

    1. Sélectionnez le champ eventType .

    2. 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 VALUE et Test event for push notification comme DISPLAY NAME.

    3. Sélectionnez Appliquer.

    4. Sélectionnez Enregistrer.

      Ajouter une valeur aux types d’événements

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.

  1. Dans l’interface utilisateur de Journey Optimizer, sélectionnez Configurations dans le rail de gauche.

  2. Dans l’écran Tableau de bord, sélectionnez le bouton Gérer dans la mosaïque Événements.

  3. Dans l’écran Events, sélectionnez Create Event.

  4. Dans le volet Edit event1 :

    1. Saisissez LumaTestEvent comme Nom de l’événement.

    2. Fournissez une description, par exemple Test event to trigger push notifications in Luma app.

    3. Sélectionnez le schéma d’événement d’expérience d’application mobile que vous avez créé précédemment dans Création d’un schéma XDM dans la liste Schéma, par exemple Luma Mobile App Event Schema v.1.

    4. Sélectionnez Edit en regard de la liste Fields.

      Modifier l’étape 1 de l’événement

      Dans la boîte de dialogue Fields, assurez-vous que les champs suivants sont sélectionnés (en plus des champs par défaut toujours sélectionnés (_id, id et timestamp). Vous pouvez basculer, à l’aide de la liste déroulante, entre Sélectionné, Tous et Principal ou utiliser le champ Recherche .

      • Application identifiée (id),
      • Type d’événement (eventType),
      • Principal (principal).

      Modifier les champs d’événement

      Sélectionnez ensuite Ok.

    5. Sélectionnez Edit en regard du champ Event id condition.

      1. Dans la boîte de dialogue Ajouter une condition d’ID d’événement, placez Type d’événement (eventType) sur Faites glisser un élément ici.

      2. Dans la fenêtre contextuelle, faites défiler l’écran vers le bas et sélectionnez application.test (qui est le type d’événement que vous avez ajouté précédemment à la liste des types d’événement dans le cadre de la mise à jour de votre schéma). Faites ensuite défiler l’écran jusqu’en haut et sélectionnez Ok.

      3. Sélectionnez Ok pour enregistrer la condition.

        Modifier la condition d’événement

    6. 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 clé pour la carte identityMap.

    7. Sélectionnez Enregistrer.

      Modifier l’étape 2

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 ce fait, seuls les événements de ce type spécifique, initié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é.

  1. Dans l’interface utilisateur de Journey Optimizer, sélectionnez Parcours dans le rail de gauche.

  2. Sélectionnez Créer un Parcours.

  3. Dans le panneau Propriétés du Parcours :

    1. Saisissez un Nom pour le parcours, par exemple Luma - Test Push Notification Journey.

    2. Saisissez une Description pour le parcours, par exemple Journey for test push notifications in Luma mobile app.

    3. Assurez-vous que l’option Autoriser la rentrée est sélectionnée et définissez la Période d’attente de rentrée sur 30 Secondes.

    4. Cliquez sur OK.

      Propriétés du parcours

  4. De retour dans la zone de travail du parcours, à partir de EVENTS, effectuez un glisser-déposer de votre événement LumaTestEvent sur la zone de travail où se trouve Sélectionner un événement d’entrée ou une activité de lecture d’audience.

    • Dans le panneau Events: LumaTestEvent , saisissez un libellé, par exemple Luma Test Event.
  5. Dans la liste déroulante ACTIONS, effectuez un glisser-déposer de Push Push sur l’écran Ajouter apparaissant à droite de votre activité LumaTestEvent. Dans le volet Actions : Push :

    1. Fournissez un libellé, par exemple Luma Test Push Notification, fournissez une description, par exemple Test push notification for Luma mobile app, sélectionnez Transactional dans la liste Category et sélectionnez Luma dans la surface push.

    2. Sélectionnez Modifier Modifier le contenu pour commencer à modifier la notification push réelle.

      Propriétés push

      Dans l’éditeur Notification push :

      1. Saisissez un Titre, par exemple Luma Test Push Notification, puis un Corps, par exemple Test push notification for Luma mobile app.

      2. 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.

      3. Pour enregistrer et quitter l’éditeur, sélectionnez Chevron left .

        Éditeur push

    3. Pour enregistrer et terminer la définition de notification push, sélectionnez Ok.

  6. Votre parcours devrait ressembler à celui-ci. Sélectionnez Publish pour publier et activer votre parcours.
    parcours terminé

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 Events).

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 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 de mettre en oeuvre la création de payloads d’événement d’expérience dans votre application.

  1. Accédez à Luma > Luma > Modèle > XDM > TestPushPayload dans le navigateur de projet Xcode et inspectez 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
       ]
    }
    
  2. 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 instance testPushPayload à l’aide des paramètres fournis à la fonction (applicationId et eventType), puis appelle sendExperienceEvent lors de la conversion de la charge utile 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 d’accès simultané de Swift basé sur await et async.

  3. 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

  1. Recréez et exécutez l’application dans le simulateur ou sur un appareil physique à partir de Xcode, en utilisant Play .

  2. Accédez à l’onglet Paramètres .

  3. Appuyez sur Notification push. La notification push apparaît dans votre application.

    {width="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 leçon Places).

SUCCESS
Vous avez maintenant activé l’application pour la notification push à l’aide de Journey Optimizer et de l’extension Journey Optimizer pour le SDK Mobile Experience Platform.
Merci d’investir votre temps à apprendre sur le SDK Adobe Experience Platform Mobile. Si vous avez des questions, souhaitez partager des commentaires généraux ou avez des suggestions sur le contenu à venir, partagez-les sur cet post de discussion de la communauté Experience League.

Suivant : Créer et envoyer des messages in-app

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b