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 de la décision 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 ici.

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 leçon Configuration de tests A/B avec Target, vous avez peut-être déjà effectué certaines é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 à Platform Edge Network sont transférées à Journey Optimizer - Gestion des décisions, 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électionnez Plus pour Experience Platform et Modifier Modifier dans le menu contextuel.

  3. Dans l’écran Datastreams > Folder > Adobe Experience Platform, assurez-vous que Offer decisioning, Segmentation Edge et Adobe Journey Optimizer sont sélectionnés. Si vous souhaitez suivre la leçon sur Target, sélectionnez également Destinations Personalization. Voir Paramètres Adobe Experience Platform pour plus d’informations.

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

    configuration de flux de données AEP

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

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

  2. Sélectionnez Extensions.

  3. Sélectionnez Catalog.

  4. Recherchez l’extension Adobe Journey Optimizer - Decisioning.

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

    Ajouter 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électionnez 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 la boîte de dialogue Ajouter des groupes de champs, Rechercher pour 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électionnez 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électionnez Configurer dans le rail gauche et sélectionnez Ajouter en regard de Valider la configuration sous ADOBE JOURNEY OPTIMIZER DECISIONING.
  3. Sélectionnez Enregistrer.
  4. Sélectionnez Valider 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 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 Components Components dans la liste GESTION DES DÉCISIONS du rail de gauche.

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

  3. Si aucun emplacement nommé Mobile JSON, Mobile comme Type de canal et JSON comme 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électionnez Ajouter Créer un emplacement.

    1. dans la section Détails, saisissez Mobile JSON comme Nom, sélectionnez Mobile à partir de Type de canal et JSON à partir de Type de contenu.
    2. Sélectionnez 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 dans GESTION DES DÉCISIONS dans le rail de gauche.

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

  3. Sélectionnez Créer une offre.

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

  5. À l'étape Détails de Créer une offre personnalisée :

    1. Saisissez un nom pour l’offre, par exemple Luma - Juno Jacket, et saisissez une date et heure de début et une 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. À l’étape Ajouter des représentations de Créer une offre personnalisée :

    1. Sélectionnez Mobile Mobile dans la liste Canal et sélectionnez Mobile JSON dans la liste Placement.

    2. Sélectionnez Personnalisé pour Contenu.

    3. Sélectionnez Ajouter du contenu. Dans la boîte de dialogue Ajouter la personnalisation :

      1. Si un sélecteur Mode est 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. À l’étape Ajouter des contraintes de l’étape Créer une offre personnalisée :

    1. Définissez Priority sur 10.

    2. Désactivez l’option Inclusion capping.

    3. Sélectionnez Suivant.

      Offres - Contraintes

  8. À l’étape Réviser de Créer une offre personnalisée :

    1. Vérifiez l’offre, puis sélectionnez Terminer.
    2. Dans la boîte de dialogue Enregistrer l'offre, 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électionnez Créer une offre.

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

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

    4. À l’étape Ajouter des représentations de Créer une offre de secours :

      1. Sélectionnez Mobile Mobile dans la liste Canal et sélectionnez Mobile JSON dans la liste Placement.

      2. Sélectionnez Personnalisé pour Contenu.

      3. Sélectionnez Ajouter du contenu.

      4. Dans la boîte de dialogue Ajouter une personnalisation, saisissez le code 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. À l’étape Réviser de Créer une offre de secours :

    1. Vérifiez l’offre, puis sélectionnez Terminer.
    2. Dans la boîte de dialogue Enregistrer l'offre, 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électionnez Collections dans la barre supérieure.

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

  4. Dans la boîte de dialogue Nouvelle collection, saisissez un nom pour votre collection, par exemple Luma - Mobile App Collection, sélectionnez Créer 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 tapant 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, un HTML dans un email ou un 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).

Reportez-vous à la section Étapes clés de création et de gestion des offres si vous souhaitez mieux comprendre comment 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électionnez Decisions dans la barre supérieure.

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

  4. À l’étape Details de 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. À l’étape Ajouter des portées de décision de Créer une décision d’offre :

    1. Sélectionnez Mobile JSON dans la liste Placement.

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

      1. Dans la boîte de dialogue 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 que La priorité des offres est sélectionnée comme Méthode de classement.

    4. Sélectionnez Suivant.

      Portées de décision .

  6. À l’étape Ajouter une offre de secours de Créer une décision d’offre :

    1. Sélectionnez votre offre de secours, par exemple Luma - Fallback offer.
    2. Sélectionnez Suivant.
  7. À l’étape Summary de Create a new offer décision :

    1. Sélectionnez Terminer.
    2. Dans la boîte de dialogue Enregistrer la décision d’offre, sélectionnez Enregistrer et activer.
    3. Dans l’onglet Decisions , votre décision est prise avec l’état Live.

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électionnez Decisions dans la barre supérieure.

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

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

  5. Dans le menu contextuel, sélectionnez Étendue de la décision.
    Copier la portée de la 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, 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 Optimize 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. Vérifiez 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 les valeurs 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 la fonction func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async . 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 :

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

    • définit decisionScope, un objet qui est basé sur la décision que vous avez définie dans l’interface Journey Optimizer - Gestion des décisions et qui est 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 un objet DecisionScope valide pour votre implémentation.
      Pour plus d’informations : les autres valeurs de clé du fichier decisions.json sont destinées à une utilisation ultérieure et ne sont pas pertinentes et utilisées 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 > Personalization > EdgeOffersView dans le navigateur de projet Xcode. Recherchez la fonction 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 l’appel API Optimize.onPropositionsUpdate, 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 l’action displayed() sur l’offre qui renvoie un événement à l’Edge Network informant l’affichage de l’offre.
  8. Toujours dans EdgeOffersView, ajoutez le code suivant au modificateur .onFirstAppear. 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 modificateur .task. 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 mosaïque DECISION LUMA - MOBILE APP DECISION.

    {width="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 votre simulateur ou périphérique à Assurance.

  2. Sélectionnez Configurer dans le rail gauche et sélectionnez Ajouter en regard de Réviser et simuler sous ADOBE JOURNEY OPTIMIZER DECISIONING.

  3. Sélectionnez Enregistrer.

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

  5. Sélectionnez Demandes dans la barre supérieure. Vos demandes Offres s’affichent.
    Validation de prise de décision AJO

  6. Vous pouvez explorer les onglets Simuler et Liste d’événements pour en savoir plus sur les fonctionnalités, en vérifiant votre configuration de la gestion des décisions 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) ;
  • collecter des attributs de profil dans l’application (voir Profile) et utiliser 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 à venir, partagez-les sur cet post de discussion de la communauté Experience League.

Suivant : Effectuer des tests A/B

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