Skapa och visa erbjudanden med Beslutshantering
Lär dig hur du visar erbjudanden från Journey Optimizer Decision Management i dina mobilappar med Experience Platform Mobile SDK.
Med Journey Optimizer Decision Management kan ni leverera det bästa erbjudandet och upplevelsen till era kunder över alla kontaktytor vid rätt tidpunkt. När ni väl utformat er målgrupp kan ni inrikta er på personaliserade erbjudanden.
Beslutshantering förenklar personaliseringen med ett centralt bibliotek med marknadsföringserbjudanden och en beslutsmotor som tillämpar regler och begränsningar på komplexa realtidsprofiler som skapats av Adobe Experience Platform. Resultatet blir att ni kan skicka rätt erbjudande till kunderna vid rätt tidpunkt. Mer information finns i Om beslutshantering.
Förhandskrav
- App med SDK:er har installerats och konfigurerats.
- Konfigurera appen för Adobe Experience Platform.
- Åtkomst till Journey Optimizer - Beslutshantering med rätt behörighet att hantera erbjudanden och beslut enligt beskrivningen här.
Utbildningsmål
I den här lektionen ska du
- Uppdatera din Edge-konfiguration för beslutshantering.
- Uppdatera taggegenskapen med tillägget Journey Optimizer - Decisioning.
- Uppdatera ditt schema för att hämta offerthändelser.
- Validera inställningar i Assurance.
- Skapa ett offertbeslut baserat på erbjudanden från Journey Optimizer - Beslutshantering.
- Uppdatera appen och registrera tillägget Optimizer.
- Implementera erbjudanden från Beslutshantering i appen.
Inställningar
Uppdatera datastream-konfiguration
För att säkerställa att data som skickas från din mobilapp till Platform Edge Network vidarebefordras till Journey Optimizer - Beslutshantering uppdaterar du din datastam.
-
I användargränssnittet för datainsamling väljer du Datastreams och markerar ditt datastream, till exempel Luma Mobile App.
-
Välj för Experience Platform och välj Edit på snabbmenyn.
-
Kontrollera att Offer Decisioning, Edge Segmentation och Adobe Journey Optimizer är markerade på skärmen Datastreams > > Adobe Experience Platform. Om du ska göra mållektionen väljer du också Personalization Destinations. Mer information finns i Adobe Experience Platform-inställningar.
-
Välj Save om du vill spara dataströmskonfigurationen.
Installera Journey Optimizer - Decisioning-taggtillägg
-
Navigera till Tags och hitta din mobila taggegenskap och öppna egenskapen.
-
Välj Extensions.
-
Välj Catalog.
-
Sök efter tillägget Adobe Journey Optimizer - Decisioning.
-
Installera tillägget. Tillägget kräver ingen ytterligare konfiguration.
Uppdatera ditt schema
- Navigera till gränssnittet för datainsamling och välj Schemas i den vänstra listen.
- Välj Browse i det övre fältet.
- Välj ditt schema för att öppna det.
- Välj Add bredvid Fältgrupper i schemaredigeraren.
- I dialogrutan Add fields groups
efter
proposition
, markera Experience Event - Proposition Interactions och välj Add field groups. Den här fältgruppen samlar in data om upplevelsehändelser som är relevanta för erbjudanden: vilket erbjudande som presenteras, som en del av vilken samling, vilket beslut och andra parametrar (se senare i den här lektionen). Men vad händer med erbjudandet? Visas den, interagerar med den, stängs av och så vidare.
- Välj Save om du vill spara ändringarna i ditt schema.
Validera inställningar i Assurance
Så här validerar du inställningarna i Assurance:
- Gå till försäkringsgränssnittet.
- Markera Configure i den vänstra listen och välj intill Validate Setup under ADOBE JOURNEY OPTIMIZER DECISIONING.
- Välj Save.
- Välj Validate Setup i den vänstra listen. Både datastream-konfigurationen och SDK-konfigurationen i ditt program valideras.
Skapa placering
Innan ni kan skapa erbjudanden måste ni definiera hur och var dessa erbjudanden kan placeras i mobilappen. I Beslutshantering definierar du placeringar för detta ändamål och du definierar en placering för den mobila kanal som stöder en JSON-nyttolast:
-
I Journey Optimizer-gränssnittet väljer du Components från DECISION MANAGEMENT i den vänstra listen.
-
Välj Placements i det övre fältet.
-
Om ingen placering med namnet Mobile JSON, Mobile som Channel type och JSON som Content type visas, måste du skapa en placering. Annars fortsätter du med att skapa erbjudanden.
Så här skapar du Mobile JSON-placeringen:
-
Välj Skapa placering.
- i avsnittet Details anger du
Mobile JSON
som Name, väljer Mobile från Channel type och JSON från Content type. - Välj Save om du vill spara placeringen.
- i avsnittet Details anger du
Skapa erbjudanden
-
I Journey Optimizer-gränssnittet väljer du Offers från DECISION MANAGEMENT i den vänstra listen.
-
På skärmen Offers väljer du Browse för att se listan över erbjudanden.
-
Välj Create offer.
-
I dialogrutan New offer väljer du Personalized offer och klickar på Next.
-
I Details-steget i Create new personalized offer:
-
Ange Name som erbjudande, till exempel
Luma - Juno Jacket
, och ange Start date and time och End date and time. Utanför dessa datum väljs inte erbjudandet av beslutsmotorn. -
Välj Next.
-
-
I Add representations-steget i Create new personalized offer:
-
Välj Mobile i listan Channel och välj Mobile JSON i listan Placement.
-
Välj Custom för Content.
-
Välj Add content. I dialogrutan Add personalization:
-
Om en Mode-väljare är tillgänglig kontrollerar du att den är inställd på JSON.
-
Ange följande JSON:
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" }
-
Välj Save.
-
-
Välj Next.
-
-
I Add constraints-steget i Create new personalized offer:
-
Ange Priority till
10
. -
Växla Include capping av.
-
Välj Next.
-
-
I Review-steget av Create new personalized-erbjudandet:
- Granska erbjudandet och välj sedan Finish.
- Välj Save and approve i dialogrutan Save offer.
-
Upprepa steg 3-8 för att skapa ytterligare fyra erbjudanden med olika namn och innehåll. Alla andra konfigurationsvärden, till exempel Startdatum och -tid eller Prioritet, liknar det första erbjudandet du skapade. Du kan snabbt skapa dubbletter och redigera erbjudanden.
-
I Journey Optimizer-gränssnittet väljer du Offers i den vänstra listen och sedan Erbjudanden i den övre raden.
-
Markera raden i erbjudandet som du skapade.
-
Välj More actions i den högra rutan och välj Duplicate på snabbmenyn.
Använd tabellen nedan för att definiera de fyra andra erbjudandena.
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-fixed Namn på erbjudande Erbjud innehåll i JSON Luma - vattenflaskan har fastnat { "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 - Önskat träningsträd { "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 - Aero Daily Fitness Tee { "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" }
-
-
Som sista steg måste ni skapa ett reserverbjudande, som är ett erbjudande som skickas till kunderna om de inte är berättigade till andra erbjudanden.
-
Välj Create offer.
-
I dialogrutan New offer väljer du Personalized offer och sedan Next.
-
I Details-steget av Create new fallback offer anger du en Name för erbjudandet, till exempel
Luma - Fallback Offer
, och väljer Next. -
I Add representations-steget i Create new fallback offer:
-
Välj Mobile i listan Channel och välj Mobile JSON i listan Placement.
-
Välj Custom för Content.
-
Välj Add content.
-
Ange följande JSON i dialogrutan Add personalization och välj Save:
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" }
-
Välj Next.
-
-
-
I Review-steget av Create new fallback-erbjudandet:
- Granska erbjudandet och välj sedan Finish.
- Välj Save and approve i dialogrutan Save offer.
Du bör nu ha följande lista över erbjudanden:
Skapa en samling
För att kunna presentera ett erbjudande för din mobilappsanvändare måste du definiera en erbjudandesamling som består av ett eller flera av de erbjudanden du har skapat.
-
I Journey Optimizer-gränssnittet väljer du Offers i den vänstra listen.
-
Välj Collections i det övre fältet.
-
Välj Create collection.
-
I dialogrutan New collection anger du Name för din samling, till exempel
Luma - Mobile App Collection
, väljer Create static collection och klickar på Next. -
I Luma - Mobile App Collection väljer du de erbjudanden du vill inkludera i samlingen. I den här självstudiekursen väljer du fem erbjudanden du skapat. Du kan enkelt filtrera listan med hjälp av sökfältet, till exempel genom att skriva Luma.
-
Välj Save.
Skapa ett beslut
Det sista steget är att definiera ett beslut, vilket är kombinationen av ett eller flera beslutsomfattningar och ditt reserverbjudande.
Ett beslutsomfång är en kombination av en specifik placering (till exempel HTML i ett e-postmeddelande eller JSON i en mobilapp) och ett eller flera utvärderingskriterier.
Ett utvärderingskriterium är en kombination av
- en erbjudandesamling,
- regler för behörighet: Erbjudandet gäller t.ex. endast en viss målgrupp.
- en rangordningsmetod: när det finns flera erbjudanden att välja mellan, vilken metod använder du för att rangordna dem (t.ex. efter erbjudandeprioritet, med en formel eller en AI-modell).
Se Viktiga steg för att skapa och hantera erbjudanden om du bättre vill förstå hur placeringar, regler, rankningar, erbjudanden, representationer, samlingar, beslut och så vidare, interagerar och relaterar till varandra. Den här lektionen handlar endast om att använda beslutsresultatet i stället för att vara flexibel när det gäller att definiera beslut inom Journey Optimizer - Beslutshantering.
-
I Journey Optimizer-gränssnittet väljer du Offers i den vänstra listen.
-
Välj Decisions i det övre fältet.
-
Välj Create decision.
-
I Details-steget i Create a new offer decision:
- Ange en Name för beslutet, till exempel
Luma - Mobile App Decision
, ange Start date and time och End date and time. - Välj Next.
- Ange en Name för beslutet, till exempel
-
I Add decision scopes-steget i Create a new offer decision:
-
Välj Mobile JSON i listan Placement.
-
I rutan Evaluation Criteria väljer du Add.
-
Välj din erbjudandesamling i dialogrutan Add Offer Collection. Exempel: Luma - Mobile App Collection.
-
Välj Add.
-
-
Kontrollera att None är markerat för Eligibility och att Offer priority är markerat som Ranking method.
-
Välj Next.
.
-
-
I Add fallback offer-steget i Create a new offer decision:
- Välj ditt reserverbjudande, till exempel Luma - Fallback offer.
- Välj Next.
-
I Summary-steget i Create a new offer decision:
- Välj Finish.
- Välj Save and activate i dialogrutan Save offer decision.
- På fliken Decisions ser du ditt beslut med statusen Live.
Ditt beslut om erbjudandet, som består av en uppsättning erbjudanden, är nu klart att användas. Om du vill använda beslutet i din app måste du i koden hänvisa till beslutsomfånget.
-
I Journey Optimizer-gränssnittet väljer du Offers.
-
Välj Decisions i det övre fältet.
-
Välj ditt beslut, till exempel Luma - Mobile App Decision.
-
Välj Copy i rutan Decision scopes.
-
Välj Decision scope på snabbmenyn.
-
Använd en textredigerare för att klistra in beslutsomfånget för senare bruk. Beslutsomfånget har följande JSON-format.
code language-json { "xdm:activityId":"xcore:offer-activity:xxxxxxxxxxxxxxx", "xdm:placementId":"xcore:offer-placement:xxxxxxxxxxxxxxx" }
Implementera erbjudanden i din app
Som tidigare nämnts tillhandahåller installation av ett mobiltaggtillägg bara konfigurationen. Därefter måste du installera och registrera Optimera SDK. Om de här stegen inte är tydliga går du igenom avsnittet Installera SDK.
-
Kontrollera att AEP-optimering har lagts till i listan över paket i paketberoenden i Xcode. Se Hanteraren för wift-paket.
-
Navigera till Luma > Luma > AppDelegate i Xcode Project-navigatorn.
-
Se till att
AEPOptimize
ingår i din lista över importer.code language-swift import AEPOptimize
-
Kontrollera att
Optimize.self
är en del av den array med tillägg som du registrerar.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 ]
-
Navigera till Luma > Luma > Model > Data > decisions i Xcode Project-navigatorn. Uppdatera värdena
activityId
ochplacementId
med beslutsscopeinformationen som du kopierade från Journey Optimizer-gränssnittet. -
Navigera till Luma > Luma > Utils > MobileSDK i Xcode Project-navigatorn. Hitta funktionen
func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async
. Lägg till följande kod: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) }
Den här funktionen:
-
anger en XDM-ordlista
xdmData
som innehåller ECID för att identifiera den profil som du måste presentera erbjudandena för. -
definierar
decisionScope
, ett objekt som baseras på det beslut som du har definierat i Journey Optimizer - Beslutshantering och som definieras med hjälp av det kopierade beslutsomfånget från Skapa ett beslut. Luma-appen använder en konfigurationsfil (decisions.json
) som hämtar omfångsparametrarna, baserat på följande JSON-format:code language-swift "scopes": [ { "name": "name of the scope", "activityId": "xcore:offer-activity:xxxxxxxxxxxxxxx", "placementId": "xcore:offer-placement:xxxxxxxxxxxxxxx", "itemCount": 2 } ]
Du kan dock använda vilken implementeringsmetod som helst för att se till att API:erna för Optimera får rätt parametrar (
activityId
,placementId
ochitemCount
) för att skapa ett giltigtDecisionScope
-objekt för implementeringen.
För din information: övriga nyckelvärden i filendecisions.json
är för framtida bruk och är inte relevanta och används för närvarande i den här lektionen och som en del av självstudiekursen. -
anropar två API:
Optimize.clearCachePropositions
ochOptimize.updatePropositions
. Dessa funktioner rensar alla cachelagrade offerter och uppdaterar propositionerna för den här profilen.
-
-
Navigera till Luma > Luma > Views > Personalization > EdgeOffersView i Xcode Project-navigatorn. Hitta funktionen
func onPropositionsUpdateOD(activityId: String, placementId: String, itemCount: Int) async
och kontrollera koden för den här funktionen. Den viktigaste delen av den här funktionen är API-anropetOptimize.onPropositionsUpdate
som- hämtar förslagen för den aktuella profilen baserat på beslutsomfånget (som du har definierat i Journey Optimizer - Beslutshantering),
- hämtar erbjudandet från erbjudandet,
- frigör innehållet i erbjudandet så att det kan visas korrekt i appen, och
- utlöser åtgärden
displayed()
för erbjudandet som skickar en händelse tillbaka till Edge Network som talar om att erbjudandet visas.
-
I EdgeOffersView lägger du till följande kod i modifieraren
.onFirstAppear
. Den här koden ser till att callback-funktionen för uppdatering av erbjudanden registreras endast en gång.code language-swift // Invoke callback for offer updates Task { await self.onPropositionsUpdateOD(activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount) }
-
I EdgeOffersView lägger du till följande kod i modifieraren
.task
. Den här koden uppdaterar erbjudandena när vyn uppdateras.code language-swift // Clear and update offers await self.updatePropositionsOD(ecid: currentEcid, activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
Validera med appen
-
Återskapa och kör appen i simulatorn eller på en fysisk enhet från Xcode med .
-
Gå till fliken Personalisation.
-
Välj Edge Personalisation.
-
Bläddra till toppen så visas två slumpmässiga erbjudanden från samlingen som du har definierat i DECISION LUMA - MOBILE APP DECISION-rutan.
{width="300"}
Anbuden är slumpmässiga eftersom ni har gett alla erbjudanden samma prioritet och rangordningen för beslutet baseras på prioritet.
Validera implementering i Assurance
Så här validerar du erbjudandeimplementeringen i Assurance:
-
Granska avsnittet Installationsanvisningar för att ansluta simulatorn eller enheten till Assurance.
-
Markera Configure i den vänstra listen och välj intill Review & Simulate under ADOBE JOURNEY OPTIMIZER DECISIONING.
-
Välj Save.
-
Välj Review & Simulate i den vänstra listen. Både datastream-konfigurationen valideras och SDK-inställningen i ditt program.
-
Välj Requests i det övre fältet. Du ser dina Offers-begäranden.
-
Du kan utforska flikarna Simulate och Event List om du vill ha mer funktionalitet och kontrollera hur du har konfigurerat Journey Optimizer Decision Management.
Nästa steg
Nu bör du ha alla verktyg du behöver för att börja lägga till fler funktioner i implementeringen av Journey Optimizer - Beslutshantering. Exempel:
- tillämpa olika parametrar för erbjudandena (till exempel prioritet, capping)
- samla in profilattribut i appen (se Profil) och använd dessa profilattribut för att skapa målgrupper. Använd sedan dessa målgrupper som en del av reglerna för behörighet i ditt beslut.
- kombinerar mer än ett beslutsområde.
Nästa: Utför A/B-tester