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.

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

TIP
Si vous avez déjà configuré votre environnement dans le cadre de la Messagerie in-app Journey Optimizer leçon : 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 une Nom de la clé.

  4. Sélectionnez la variable Service de notification push Apple (APNS) .

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

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

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

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

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

Une documentation supplémentaire peut être se trouve ici.

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

  1. Dans la Interface de collecte de données, sélectionnez Surfaces de l’application dans le panneau de gauche.

  2. Pour créer une configuration, sélectionnez Créer une surface d’application.
    page d’accueil de l’application

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

  4. De Configuration des applications mobiles, sélectionnez Apple iOS.

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

  6. Activez l’option Informations d’identification push pour ajouter vos informations d’identification.

  7. Faites glisser et déposez votre .p8 Clé d’authentification des notifications push Apple fichier .

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

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

  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 au réseau Edge 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électionner Plus pour Experience Platform et sélectionnez Modifier Modifier dans le menu contextuel.

  3. Dans le Datastreams > Dossier > Adobe Experience Platform écran :

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

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

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

    Configuration des 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électionner Catalogue.

  4. Recherchez le Adobe Journey Optimizer extension .

  5. Installez l’extension .

  6. Dans le Installer l’extension dialog

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

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

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

      Paramètres de l’extension AJO

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

Validation de la configuration avec Assurance

  1. Consultez la section instructions de configuration pour connecter le simulateur ou l’appareil à Assurance.

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

  3. Sélectionner Plus en regard de Débogage Push.

  4. Sélectionnez Enregistrer.
    save

  5. Sélectionner Débogage Push dans le volet de navigation de gauche.

  6. Sélectionnez la variable Validation de la configuration .

  7. Sélectionnez votre périphérique dans le Client liste.

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

  9. Sélectionnez la variable Envoyer le test push .

  10. (Facultatif) Modifiez les détails par défaut de la variable Titre et Corps

  11. Sélectionner Bogue Envoi de 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.

    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 :

  1. Accédez à votre application dans Xcode.

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

  3. Sélectionnez la variable Luma cible.

  4. Sélectionnez la variable Signature et fonctionnalités .

  5. 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, 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 {zoomable="yes"}

Ajout de fonctionnalités de notification push à votre application

IMPORTANT
Pour mettre en oeuvre et tester une notification push dans une application iOS, vous devez disposer d’un paid Compte de développeur Apple. 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 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.

  2. Vous devez ensuite ajouter une extension de notification à l’application. Revenez au General et sélectionnez l’option + en bas de la page CIBLES .

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

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

Extension des 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, passez en revue la Installation des SDK .

NOTE
Si vous avez terminé la Installation des SDK , le SDK est déjà installé et vous pouvez ignorer cette étape.
  1. Dans Xcode, assurez-vous que Messagerie AEP est ajouté à la liste des modules 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. 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

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

    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
La variable 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.

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

  2. Sélectionner 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 la variable eventType champ .

    2. 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 et Test event for push notification comme la propriété 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 le Tableau de bord sélectionnez l’écran Gérer dans le Événements mosaïque.

  3. Dans le Événements écran, sélectionnez Créer un événement.

  4. Dans le Modifier event1 Volet :

    1. Entrée LumaTestEvent comme la propriété 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éer un schéma XDM de la Schéma liste, par exemple Luma Mobile App Event Schema v.1.

    4. Sélectionner Modifier en regard de Champs liste.

      Étape 1 de la modification de l’événement

      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 Rechercher champ .

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

      Modifier les champs d’événement

      Sélectionnez Ok.

    5. Sélectionner Modifier en regard de Condition d’identifiant d’événement champ .

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

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

      3. Sélectionner Ok pour enregistrer la condition.

        Modifier la condition d’événement

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

    7. Sélectionnez Enregistrer.

      Étape 2 de la modification de l’événement

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

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

  2. Sélectionner Créer un Parcours.

  3. Dans le Propriétés du parcours panel :

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

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

    3. Assurez-vous que Autoriser une rentrée est sélectionné et défini. Période d’attente de rentrée to 30 Secondes.

    4. Cliquez sur OK.

      Propriétés du parcours

  4. De retour dans la zone de travail du parcours, à partir de la ÉVÉNEMENTS, effectuez un glisser-déposer de la Événement 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.
  5. Dans la ACTIONS menu déroulant, glisser-déposer Push Push sur le Ajouter apparaissant à droite de votre LumaTestEvent activité. Dans le Actions : Push Volet :

    1. Fournissez une Libellé, par exemple Luma Test Push Notification, fournissez une Description, par exemple Test push notification for Luma mobile app, sélectionnez Transactionnel de la Catégorie répertorier et sélectionner Luma de la Surface push.

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

      Propriétés push

      Dans le Notification push editor:

      1. Saisissez un Titre, par exemple Luma Test Push Notification et saisissez 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 à gauche .

        Éditeur push

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

  6. Votre parcours devrait ressembler à celui-ci. Sélectionner Publier 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 É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.

  1. 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
       ]
    }
    
  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 testPushPayload à l’aide des paramètres fournis à la fonction (applicationId et eventType), puis les appels sendExperienceEvent 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é 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 au Paramètres .

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

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 futur, partagez-les à ce sujet. Article de discussion de la communauté Experience League.

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

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