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.
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.
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
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.
-
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.
-
Sélectionner pour Experience Platform et sélectionnez Modifier dans le menu contextuel.
-
Dans le Datastreams > > 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.
-
Pour enregistrer votre configuration de flux de données, sélectionnez Enregistrer .
Installer Journey Optimizer - Extension des balises de prise de décision
-
Accédez à Balises et recherchez la propriété de balise mobile et ouvrez-la.
-
Sélectionner Extensions.
-
Sélectionner Catalogue.
-
Recherchez le Adobe Journey Optimizer - Prise de décision extension .
-
Installez l’extension . L’extension ne nécessite pas de configuration supplémentaire.
Mettre à jour votre schéma
- Accédez à l’interface de collecte de données et sélectionnez Schémas dans le rail de gauche.
- Sélectionner Parcourir dans la barre supérieure.
- Sélectionnez votre schéma pour l’ouvrir.
- Dans l’éditeur de schéma, sélectionnez Ajouter en regard des groupes de champs.
- Dans le Ajouter des groupes de champs dialog,
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.
- Sélectionner Enregistrer pour enregistrer les modifications apportées à votre schéma.
Validation de la configuration dans Assurance
Pour valider votre configuration dans Assurance :
- Accédez à l’interface utilisateur d’assurance.
- Sélectionner Configurer dans le rail de gauche et sélectionnez en regard de Validation de la configuration underneath PRISE DE DÉCISION ADOBE JOURNEY OPTIMIZER.
- Sélectionnez Enregistrer.
- 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.
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 :
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Composants de GESTION DES DÉCISIONS dans le rail de gauche.
-
Sélectionner Emplacements dans la barre supérieure.
-
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 :
-
Sélectionner Créer un emplacement.
- 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. - Sélectionner Enregistrer pour enregistrer l’emplacement.
- dans le Détails , saisissez
Création d’offres
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres de GESTION DES DÉCISIONS dans le rail de gauche.
-
Dans le Offres écran, sélectionnez Parcourir pour afficher la liste des offres.
-
Sélectionner Créer une offre.
-
Dans le Nouvelle offre boîte de dialogue, sélectionnez Offre personnalisée et cliquez sur Suivant.
-
Dans le Détails étape Créer une offre personnalisée:
-
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. -
Sélectionnez Suivant.
-
-
Dans le Ajouter des représentations étape Créer une offre personnalisée:
-
Sélectionner Mobile de Canal et sélectionnez JSON mobile de la Placement liste.
-
Sélectionner Personnalisé pour Contenu.
-
Sélectionner Ajouter du contenu. Dans le Ajouter une personnalisation dialog :
-
Dans le cas d’une Mode sélecteur disponible, assurez-vous qu’il est défini sur JSON.
-
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" }
-
Sélectionnez Enregistrer.
-
-
Sélectionnez Suivant.
-
-
Dans le Ajouter des contraintes de la Créer une offre personnalisée:
-
Définir Priorité to
10
. -
Basculer Inclure la limitation off.
-
Sélectionnez Suivant.
-
-
Dans le Réviser étape Créer des offre :
- Vérifiez l’offre, puis sélectionnez Terminer.
- Dans le Enregistrer l’offre boîte de dialogue, sélectionnez Enregistrer et approuver.
-
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.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres dans le rail de gauche, puis sélectionnez Offres dans la barre supérieure.
-
Sélectionnez la ligne de l’offre que vous avez créée.
-
Dans le volet de droite, sélectionnez Autres actions et dans le menu contextuel, sélectionnez 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" }
-
-
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.
-
Sélectionner Créer une offre.
-
Dans le Nouvelle offre boîte de dialogue, sélectionnez Offre personnalisée et sélectionnez Suivant.
-
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. -
Dans le Ajouter des représentations étape Créer une offre de secours:
-
Sélectionner Mobile de Canal et sélectionnez JSON mobile de Placement liste.
-
Sélectionner Personnalisé pour Contenu.
-
Sélectionner Ajouter du contenu.
-
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" }
-
Sélectionnez Suivant.
-
-
-
Dans le Réviser étape Créer un nouveau secours offre :
- Vérifiez l’offre, puis sélectionnez Terminer.
- Dans le Enregistrer l’offre boîte de dialogue, sélectionnez Enregistrer et approuver.
Vous devriez maintenant avoir la liste d’offres suivante :
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.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres dans le rail de gauche.
-
Sélectionner Collections dans la barre supérieure.
-
Sélectionner Créer une collection.
-
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. -
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.
-
Sélectionnez Enregistrer.
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.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres dans le rail de gauche.
-
Sélectionner Décisions dans la barre supérieure.
-
Sélectionner Créer une décision.
-
Dans le Détails étape Créer une décision d’offre:
- 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. - Sélectionnez Suivant.
- Saisissez un Nom pour la décision, par exemple
-
Dans le Ajout de portées de décision étape Créer une décision d’offre:
-
Sélectionner JSON mobile de Placement liste.
-
Dans le Critères d’évaluation mosaïque, sélectionnez Ajouter.
-
Dans le Ajouter une collection d’offres , sélectionnez votre collection d’offres. Par exemple : Luma - Mobile App Collection.
-
Sélectionnez Ajouter.
-
-
Assurez-vous que Aucun est sélectionné pour Eligibilité, et Priorité des offres est sélectionné en tant que Méthode de classement.
-
Sélectionnez Suivant.
.
-
-
Dans le Ajouter une offre de secours étape Créer une décision d’offre:
- Sélectionnez votre offre de secours, par exemple : Luma - Fallback offer.
- Sélectionnez Suivant.
-
Dans le Résumé étape Créer une décision d’offre:
- Sélectionnez Terminer.
- Dans le Enregistrer la décision d’offre boîte de dialogue, sélectionnez Enregistrer et activer.
- 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.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres.
-
Sélectionner Décisions dans la barre supérieure.
-
Sélectionnez votre décision, par exemple Luma - Mobile App Decision.
-
Dans le Portées de décision mosaïque, sélectionnez Copier.
-
Dans le menu contextuel, sélectionnez Portée de décision.
-
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 .
-
Dans Xcode, assurez-vous que Optimisation AEP est ajouté à la liste des modules dans les dépendances de modules. Voir Swift Package Manager.
-
Accédez à Luma > Luma > AppDelegate dans le navigateur de projet Xcode.
-
Assurez-vous que
AEPOptimize
fait partie de votre liste d’importations.code language-swift import AEPOptimize
-
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 ]
-
Accédez à Luma > Luma > Model > Data > décisions dans le navigateur de projet Xcode. Mettez à jour le
activityId
etplacementId
avec les détails de la portée de décision que vous avez copiés à partir de l’interface de Journey Optimizer. -
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
etitemCount
), pour construire uneDecisionScope
pour votre mise en oeuvre.
Pour plus d’informations : les autres valeurs clés de la variabledecisions.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
etOptimize.updatePropositions
. Ces fonctions effacent toutes les propositions mises en cache et mettent à jour les propositions de ce profil.
-
-
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 fonctionOptimize.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.
-
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) }
-
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
-
Recréez et exécutez l’application dans le simulateur ou sur un appareil physique à partir de Xcode, en utilisant .
-
Accédez à l’onglet Personalisation.
-
Sélectionnez Edge Personalisation.
-
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 :
-
Consultez la section instructions de configuration pour connecter le simulateur ou l’appareil à Assurance.
-
Sélectionner Configurer dans le rail de gauche et sélectionnez en regard de Révision et simulation underneath PRISE DE DÉCISION ADOBE JOURNEY OPTIMIZER.
-
Sélectionnez Enregistrer.
-
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.
-
Sélectionner Demandes dans la barre supérieure. Vous voyez votre Offres requêtes.
-
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.
Suivant : Exécution de tests A/B