Créer et afficher des offres avec la gestion des décisions

Découvrez comment afficher les offres de Journey Optimizer Decision Management dans vos applications mobiles avec le SDK Mobile Experience Platform.

Journey Optimizer Decision Management vous aide à offrir la meilleure offre et la meilleure expérience à vos clients sur tous les points de contact au bon moment. Une fois conçu, ciblez votre audience avec des offres personnalisées.

Architecture

La gestion des décisions facilite la personnalisation grâce à une bibliothèque centrale d’offres marketing et à un moteur de décision qui applique des règles et des contraintes aux profils riches en temps réel créés par Adobe Experience Platform. Par conséquent, il vous permet d’envoyer à vos clients la bonne offre au bon moment. Voir À propos de la gestion des décisions pour plus d’informations.

NOTE
Cette leçon est facultative et s’applique uniquement aux utilisateurs de Journey Optimizer qui souhaitent utiliser la fonctionnalité de gestion de la décision pour afficher les offres dans une application mobile.

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 - Gestion des décisions avec les autorisations appropriées pour gérer les offres et les décisions, comme décrit here.

Objectifs d'apprentissage

Dans cette leçon, vous allez

  • Mettez à jour votre configuration Edge pour la gestion de la décision.
  • Mettez à jour votre propriété de balise avec l’extension Journey Optimizer - Decisioning.
  • Mettez à jour votre schéma pour capturer les événements de proposition.
  • Validez la configuration dans Assurance.
  • Créez une décision d’offre en fonction des offres dans Journey Optimizer - Gestion de la décision.
  • Mettez à jour votre application pour enregistrer l’extension Optimizer.
  • Mettez en oeuvre les offres de la gestion de la décision dans votre application.

Configuration

TIP
Si vous avez déjà configuré votre environnement dans le cadre de la Configuration de tests A/B avec Target leçon : vous avez peut-être déjà effectué certaines des étapes de cette section de configuration.

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

Pour vous assurer que les données envoyées de votre application mobile vers Platform Edge Network sont transférées vers Journey Optimizer - Decision Management, mettez à jour votre flux de données.

  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, vérifiez Offer decisioning, Segmentation Edge, et Adobe Journey Optimizer sont sélectionnées. Si vous souhaitez suivre la leçon sur Target, sélectionnez Destinations de personnalisation, également . Voir Paramètres Adobe Experience Platform pour plus d’informations.

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

    Configuration des flux de données AEP

Installer Journey Optimizer - Extension des balises de prise de décision

  1. Accédez à Balises et recherchez la propriété de balise mobile et ouvrez-la.

  2. Sélectionner Extensions.

  3. Sélectionner Catalogue.

  4. Recherchez le Adobe Journey Optimizer - Prise de décision extension .

  5. Installez l’extension . L’extension ne nécessite pas de configuration supplémentaire.

    Ajout de l’extension de prise de décision

Mettre à jour votre schéma

  1. Accédez à l’interface de collecte de données et sélectionnez Schémas dans le rail de gauche.
  2. Sélectionner Parcourir dans la barre supérieure.
  3. Sélectionnez votre schéma pour l’ouvrir.
  4. Dans l’éditeur de schéma, sélectionnez Ajouter Ajouter en regard des groupes de champs.
  5. Dans le Ajouter des groupes de champs dialog, Rechercher rechercher proposition, sélectionnez Événement d’expérience - Interactions de propositions et sélectionnez Ajouter des groupes de champs. Ce groupe de champs collecte les données d’événement d’expérience pertinentes pour les offres : quelle offre est présentée, dans le cadre de laquelle la collecte, la décision et d’autres paramètres sont définis (voir plus loin dans cette leçon). Mais que se passe-t-il avec l'offre ? S’affiche, a interagi, a ignoré, etc.
    Proposition
  6. Sélectionner Enregistrer pour enregistrer les modifications apportées à votre schéma.

Validation de la configuration dans Assurance

Pour valider votre configuration dans Assurance :

  1. Accédez à l’interface utilisateur d’assurance.
  2. Sélectionner Configurer dans le rail de gauche et sélectionnez Ajouter en regard de Validation de la configuration underneath PRISE DE DÉCISION ADOBE JOURNEY OPTIMIZER.
  3. Sélectionnez Enregistrer.
  4. Sélectionner Validation de la configuration dans le rail de gauche. La configuration du flux de données et celle du SDK dans votre application sont validées.
    Validation de la prise de décision AJO

Créer un emplacement

Avant de pouvoir réellement créer des offres, vous devez définir comment et où ces offres peuvent être placées dans l’application mobile. Dans la gestion de la décision, vous définissez des emplacements à cette fin et vous définirez un emplacement pour le canal mobile qui prend en charge une payload JSON :

  1. Dans l’interface utilisateur de Journey Optimizer, sélectionnez Composants Composants de GESTION DES DÉCISIONS dans le rail de gauche.

  2. Sélectionner Emplacements dans la barre supérieure.

  3. Si aucun emplacement n’est nommé JSON mobile, Mobile as Type de canal et JSON as Type de contenu est répertorié, vous devez créer un emplacement. Sinon, continuez à Créer des offres.

Pour créer l’emplacement JSON mobile :

  1. Sélectionner Ajouter Créer un emplacement.

    1. dans le Détails , saisissez Mobile JSON comme la propriété Nom, sélectionnez Mobile de Type de canal et JSON de Type de contenu.
    2. Sélectionner Enregistrer pour enregistrer l’emplacement.

    Créer un emplacement

Création d’offres

  1. Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres Offres de GESTION DES DÉCISIONS dans le rail de gauche.

  2. Dans le Offres écran, sélectionnez Parcourir pour afficher la liste des offres.

  3. Sélectionner Créer une offre.

  4. Dans le Nouvelle offre boîte de dialogue, sélectionnez Offre personnalisée et cliquez sur Suivant.

  5. Dans le Détails étape Créer une offre personnalisée:

    1. Saisissez un Nom pour l’offre, par exemple Luma - Juno Jacket, puis saisissez une Date et heure de début et un Date et heure de fin. En dehors de ces dates, l’offre ne sera pas sélectionnée par le moteur de décision.

    2. Sélectionnez Suivant.

      Offres - Détails

  6. Dans le Ajouter des représentations étape Créer une offre personnalisée:

    1. Sélectionner Mobile Mobile de Canal et sélectionnez JSON mobile de la Placement liste.

    2. Sélectionner Personnalisé pour Contenu.

    3. Sélectionner Ajouter du contenu. Dans le Ajouter une personnalisation dialog :

      1. Dans le cas d’une Mode sélecteur disponible, assurez-vous qu’il est défini sur JSON.

      2. Saisissez le code JSON suivant :

        code language-json
        {
            "title": "Juno Jacket",
            "text": "On colder-than-comfortable mornings, you'll love warming up in the Juno All-Ways Performance Jacket, designed to compete with wind and chill. Built-in Cocona™ technology aids evaporation, while a special zip placket and stand-up collar keep your neck protected.",
            "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/jackets/wj06-purple_main.jpg"
        }
        
      3. Sélectionnez Enregistrer.

        Offres - Contenu personnalisé

    4. Sélectionnez Suivant.

      Représentations d’offre

  7. Dans le Ajouter des contraintes de la Créer une offre personnalisée:

    1. Définir Priorité to 10.

    2. Basculer Inclure la limitation off.

    3. Sélectionnez Suivant.

      Offres : contraintes

  8. Dans le Réviser étape Créer des offre :

    1. Vérifiez l’offre, puis sélectionnez Terminer.
    2. Dans le Enregistrer l’offre boîte de dialogue, sélectionnez Enregistrer et approuver.
  9. Répétez les étapes 3 à 8 pour créer quatre offres supplémentaires avec des noms et un contenu différents. Toutes les autres valeurs de configuration, par exemple Date et heure de début ou Priorité, sont similaires à la première offre que vous avez créée. Vous pouvez rapidement créer des offres en double et les modifier.

    1. Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres Offres dans le rail de gauche, puis sélectionnez Offres dans la barre supérieure.

    2. Sélectionnez la ligne de l’offre que vous avez créée.

    3. Dans le volet de droite, sélectionnez Plus Autres actions et dans le menu contextuel, sélectionnez Dupliquer Dupliquer.

      Utilisez le tableau ci-dessous pour définir les quatre autres offres.

      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-fixed
      Nom de l’offre Contenu des offres dans JSON
      Luma - bouteille d’eau Affirmée { "title": "Affirm Water Bottle", "text": "You'll stay hydrated with ease with the Affirm Water Bottle by your side or in hand. Measurements on the outside help you keep track of how much you're drinking, while the screw-top lid prevents spills. A metal carabiner clip allows you to attach it to the outside of a backpack or bag for easy access.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/gear/fitness-equipment/ug06-lb-0.jpg" }
      Luma - Teinte de condition physique désirée { "title": "Desiree Fitness Tee", "text": "When you're too far to turn back, thank yourself for choosing the Desiree Fitness Tee. Its ultra-lightweight, ultra-breathable fabric wicks sweat away from your body and helps keeps you cool for the distance.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/tees/ws05-yellow_main.jpg" }
      Luma - Adrienne Trek Jacket { "title": "Adrienne Trek Jacket", "text": "You're ready for a cross-country jog or a coffee on the patio in the Adrienne Trek Jacket. Its style is unique with stand collar and drawstrings, and it fits like a jacket should.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/jackets/wj08-gray_main.jpg" }
      Luma - Teinte de l’état de santé quotidien d’Aero { "title": "Aero Daily Fitness Tee", "text": "Need an everyday action tee that helps keep you dry? The Aero Daily Fitness Tee is made of 100% polyester wicking knit that funnels moisture away from your skin. Don't be fooled by its classic style; this tee hides premium performance technology beneath its unassuming look.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/men/tops/tees/ms01-black_main.jpg" }
  10. En dernière étape, vous devez créer une offre de secours, c’est-à-dire une offre envoyée aux clients s’ils ne sont pas éligibles pour d’autres offres.

    1. Sélectionner Créer une offre.

    2. Dans le Nouvelle offre boîte de dialogue, sélectionnez Offre personnalisée et sélectionnez Suivant.

    3. Dans le Détails étape Créer une offre de secours, saisissez une Nom pour l’offre, par exemple Luma - Fallback Offer, puis sélectionnez Suivant.

    4. Dans le Ajouter des représentations étape Créer une offre de secours:

      1. Sélectionner Mobile Mobile de Canal et sélectionnez JSON mobile de Placement liste.

      2. Sélectionner Personnalisé pour Contenu.

      3. Sélectionner Ajouter du contenu.

      4. Dans le Ajouter une personnalisation , saisissez le fichier JSON suivant et sélectionnez Enregistrer:

        code language-json
        {
           "title": "Luma",
           "text": "Your store for sports wear and equipment.",
           "image": "https://luma.enablementadobe.com/content/dam/luma/en/logos/Luma_Logo.png"
        }
        
      5. Sélectionnez Suivant.

  11. Dans le Réviser étape Créer un nouveau secours offre :

    1. Vérifiez l’offre, puis sélectionnez Terminer.
    2. Dans le Enregistrer l’offre boîte de dialogue, sélectionnez Enregistrer et approuver.

Vous devriez maintenant avoir la liste d’offres suivante :
Liste des offres

Création d’une collection

Pour présenter une offre à l’utilisateur de votre application mobile, vous devez définir une collection d’offres composée d’une ou de plusieurs des offres que vous avez créées.

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

  2. Sélectionner Collections dans la barre supérieure.

  3. Sélectionner Ajouter Créer une collection.

  4. Dans le Nouvelle collection , saisissez une Nom pour votre collection, par exemple Luma - Mobile App Collection, sélectionnez Création d’une collection statique, puis cliquez sur Suivant.

  5. Dans Luma - Mobile App Collection, sélectionnez les offres que vous souhaitez inclure dans la collection. Pour ce tutoriel, sélectionnez les cinq offres que vous avez créées. Vous pouvez facilement filtrer la liste à l’aide du champ de recherche, par exemple en saisissant Luma.

  6. Sélectionnez Enregistrer.

    Offres - Collection

Création d’une décision

La dernière étape consiste à définir une décision, c’est-à-dire la combinaison d’une ou de plusieurs portées de décision et de votre offre de secours.

Une portée de décision est une combinaison d’un emplacement spécifique (par exemple, HTML dans un email ou JSON dans une application mobile) et d’un ou plusieurs critères d’évaluation.

Un critère d’évaluation est la combinaison de

  • une collection d'offres,
  • règles d'éligibilité : par exemple, l'offre n'est disponible que pour une audience spécifique,
  • une méthode de classement : lorsque plusieurs offres sont disponibles, quelle méthode utilisez-vous pour les classer (par priorité d’offre, à l’aide d’une formule ou d’un modèle d’IA, par exemple).

Voir Étapes clés de création et de gestion des offres si vous souhaitez mieux comprendre la manière dont les emplacements, les règles, les classements, les offres, les représentations, les collections, les décisions, etc., interagissent et se connectent les uns aux autres. Cette leçon porte uniquement sur l’utilisation des résultats d’une décision plutôt que sur la flexibilité de définition des décisions dans Journey Optimizer - Gestion des décisions.

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

  2. Sélectionner Décisions dans la barre supérieure.

  3. Sélectionner Ajouter Créer une décision.

  4. Dans le Détails étape Créer une décision d’offre:

    1. Saisissez un Nom pour la décision, par exemple Luma - Mobile App Decision, saisissez Date et heure de début et Date et heure de fin.
    2. Sélectionnez Suivant.
  5. Dans le Ajout de portées de décision étape Créer une décision d’offre:

    1. Sélectionner JSON mobile de Placement liste.

    2. Dans le Critères d’évaluation mosaïque, sélectionnez Ajouter Ajouter.

      1. Dans le Ajouter une collection d’offres , sélectionnez votre collection d’offres. Par exemple : Luma - Mobile App Collection.

      2. Sélectionnez Ajouter.

        Décision - Sélectionner la collection

    3. Assurez-vous que Aucun est sélectionné pour Eligibilité, et Priorité des offres est sélectionné en tant que Méthode de classement.

    4. Sélectionnez Suivant.

      Portées de décision .

  6. Dans le Ajouter une offre de secours étape Créer une décision d’offre:

    1. Sélectionnez votre offre de secours, par exemple : Luma - Fallback offer.
    2. Sélectionnez Suivant.
  7. Dans le Résumé étape Créer une décision d’offre:

    1. Sélectionnez Terminer.
    2. Dans le Enregistrer la décision d’offre boîte de dialogue, sélectionnez Enregistrer et activer.
    3. Dans le Décisions vous pouvez voir votre décision avec le statut En direct.

Votre décision d’offre, consistant en un ensemble d’offres, est maintenant prête à être utilisée. Pour utiliser la décision dans votre application, vous devez vous référer dans votre code à la portée de la décision.

  1. Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres.

  2. Sélectionner Décisions dans la barre supérieure.

  3. Sélectionnez votre décision, par exemple Luma - Mobile App Decision.

  4. Dans le Portées de décision mosaïque, sélectionnez Copier Copier.

  5. Dans le menu contextuel, sélectionnez Portée de décision.
    Copie de la portée de décision

  6. Utilisez n’importe quel éditeur de texte pour coller la portée de la décision en vue d’une utilisation ultérieure. La portée de décision présente le format JSON suivant.

    code language-json
    {
        "xdm:activityId":"xcore:offer-activity:xxxxxxxxxxxxxxx",
        "xdm:placementId":"xcore:offer-placement:xxxxxxxxxxxxxxx"
    }
    

Mise en oeuvre d’offres dans votre 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 Optimiser. 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 Optimisation 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 AEPOptimize fait partie de votre liste d’importations.

    code language-swift
    import AEPOptimize
    
  4. Assurez-vous que Optimize.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
    ]
    
  5. Accédez à Luma > Luma > Model > Data > décisions dans le navigateur de projet Xcode. Mettez à jour le activityId et placementId avec les détails de la portée de décision que vous avez copiés à partir de l’interface de Journey Optimizer.

  6. Accédez à Luma > Luma > Utils > MobileSDK dans le navigateur de projet Xcode. Recherchez le func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async de la fonction Ajoutez le code suivant :

    code language-swift
    // set up the XDM dictionary, define decision scope and call update proposition API
    Task {
       let ecid = ["ECID" : ["id" : ecid, "primary" : true] as [String : Any]]
       let identityMap = ["identityMap" : ecid]
       let xdmData = ["xdm" : identityMap]
       let decisionScope = DecisionScope(activityId: activityId, placementId: placementId, itemCount: UInt(itemCount))
       Optimize.clearCachedPropositions()
       Optimize.updatePropositions(for: [decisionScope], withXdm: xdmData)
    }
    

    Cette fonction :

    • Configuration d’un dictionnaire XDM xdmData, contenant l’ECID pour identifier le profil pour lequel vous devez présenter les offres.

    • définit decisionScope, objet basé sur la décision que vous avez définie dans l’interface Journey Optimizer - Gestion des décisions et défini à l’aide de la portée de décision copiée depuis Créer une décision. L’application Luma utilise un fichier de configuration (decisions.json) qui récupère les paramètres de portée, en fonction du format JSON suivant :

      code language-swift
      "scopes": [
          {
              "name": "name of the scope",
              "activityId": "xcore:offer-activity:xxxxxxxxxxxxxxx",
              "placementId": "xcore:offer-placement:xxxxxxxxxxxxxxx",
              "itemCount": 2
          }
      ]
      

      Cependant, vous pouvez utiliser n’importe quel type d’implémentation pour vous assurer que les API d’optimisation obtiennent les paramètres appropriés (activityId, placementId et itemCount), pour construire une DecisionScope pour votre mise en oeuvre.
      Pour plus d’informations : les autres valeurs clés de la variable decisions.json sont destinés à une utilisation ultérieure et ne sont pas pertinents et utilisés actuellement dans cette leçon et dans le cadre du tutoriel.

    • appelle deux API : Optimize.clearCachePropositions et Optimize.updatePropositions. Ces fonctions effacent toutes les propositions mises en cache et mettent à jour les propositions de ce profil.

  7. Accédez à Luma > Luma > Views > Personnalisation > EdgeOffersView dans le navigateur de projet Xcode. Recherchez le func onPropositionsUpdateOD(activityId: String, placementId: String, itemCount: Int) async et examinez le code de cette fonction. La partie la plus importante de cette fonction est la fonction Optimize.onPropositionsUpdate appel API, qui

    • récupère les propositions du profil actuel en fonction de la portée de la décision (que vous avez définie dans Journey Optimizer - Gestion des décisions),
    • récupère l'offre à partir de la proposition,
    • libère le contenu de l’offre afin qu’elle puisse s’afficher correctement dans l’application ; et
    • déclenche la variable displayed() action sur l’offre qui renvoie un événement vers le réseau Edge informant l’offre s’affiche.
  8. Toujours dans EdgeOffersView, ajoutez le code suivant au .onFirstAppear modifier. Ce code garantit que le rappel pour la mise à jour des offres n’est enregistré qu’une seule fois.

    code language-swift
    // Invoke callback for offer updates
    Task {
        await self.onPropositionsUpdateOD(activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
    }
    
  9. Toujours dans EdgeOffersView, ajoutez le code suivant au .task modifier. Ce code met à jour les offres lorsque la vue est actualisée.

    code language-swift
    // Clear and update offers
    await self.updatePropositionsOD(ecid: currentEcid, activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
    

Validation à l’aide de l’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 Personalisation.

  3. Sélectionnez Edge Personalisation.

  4. Faites défiler l’écran jusqu’en haut de l’écran pour afficher deux offres aléatoires affichées à partir de la collection que vous avez définie dans la DECISION LUMA - MOBILE APP DECISION mosaïque.

    img-md
    w-300

    Les offres sont aléatoires, car vous avez donné à toutes les offres la même priorité et le classement de la décision est basé sur la priorité.

Validation de la mise en oeuvre dans Assurance

Pour valider la mise en oeuvre des offres dans Assurance :

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

  2. Sélectionner Configurer dans le rail de gauche et sélectionnez Ajouter en regard de Révision et simulation underneath PRISE DE DÉCISION ADOBE JOURNEY OPTIMIZER.

  3. Sélectionnez Enregistrer.

  4. Sélectionner Révision et simulation dans le rail de gauche. La configuration du flux de données est validée et celle du SDK dans votre application.

  5. Sélectionner Demandes dans la barre supérieure. Vous voyez votre Offres requêtes.
    Validation de la prise de décision AJO

  6. Vous pouvez explorer Simuler et Liste des événements pour d’autres fonctionnalités, en vérifiant votre configuration de la gestion de la décision Journey Optimizer.

Étapes suivantes

Vous devriez maintenant disposer de tous les outils pour commencer à ajouter d’autres fonctionnalités à votre implémentation Journey Optimizer - Gestion des décisions . Par exemple :

  • appliquer différents paramètres à vos offres (par exemple, priorité, limitation) ;
  • collecte des attributs de profil dans l’application (voir Profil) et utilisez ces attributs de profil pour créer des audiences. Utilisez ensuite ces audiences dans le cadre des règles d’éligibilité de votre décision.
  • combiner plusieurs portées de décision.
SUCCESS
Vous avez activé l’application pour afficher les offres à l’aide de l’extension Journey Optimizer - Decisioning 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 : Exécution de tests A/B

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