Aanbiedingen maken en weergeven met Besluitbeheer
Leer hoe u aanbiedingen van Journey Optimizer Decision Management in uw mobiele apps kunt weergeven met Experience Platform Mobile SDK.
Met Journey Optimizer-Beslissingsbeheer kunt u uw klanten op elk aanraakpunt op het juiste moment de beste aanbieding en ervaring bieden. Als u ze eenmaal hebt ontworpen, richt u zich op uw publiek met persoonlijke aanbiedingen.
Beslissingsbeheer maakt personalisatie gemakkelijk met een centrale bibliotheek van marketingaanbiedingen en een beslissingsmotor die regels en beperkingen toepast op rijke, real-time profielen die door Adobe Experience Platform worden gecreëerd. Dientengevolge, laat het u toe om uw klanten de juiste aanbieding op het juiste ogenblik te verzenden. Zie Ongeveer Beslissingsbeheervoor meer informatie.
Vereisten
- App met SDK's geïnstalleerd en geconfigureerd met succes gemaakt en uitgevoerd.
- Stel de app in voor Adobe Experience Platform.
- Toegang tot Journey Optimizer - het Beheer van het Besluit met de juiste toestemmingen om aanbiedingen en besluiten te beheren zoals hierwordt beschreven.
Leerdoelstellingen
In deze les zult u
- Werk uw Edge-configuratie bij voor Beslissingsbeheer.
- Werk de eigenschap tag bij met de extensie Journey Optimizer - Decisioning.
- Werk uw schema bij om propositiegebeurtenissen vast te leggen.
- Valideer installatie in Betrouwbaarheid.
- Maak een biedbesluit op basis van aanbiedingen in Journey Optimizer - Beslissingsbeheer.
- Werk uw app bij om de extensie Optimizer te registreren.
- Voer aanbiedingen van Beslissingsbeheer in uw app uit.
Instellen
Gegevensstroomconfiguratie bijwerken
Om ervoor te zorgen dat gegevens die van uw mobiele app naar Platform Edge Network worden verzonden, naar Journey Optimizer - Beslissingsbeheer worden doorgestuurd, werkt u uw gegevensstroom bij.
-
Selecteer Datastreams in de gebruikersinterface voor gegevensverzameling en selecteer de gegevensstroom, bijvoorbeeld Luma Mobile App .
-
Selecteer voor Experience Platform en selecteer Edit van het contextmenu.
-
In Datastreams > > Adobe Experience Platform scherm, zorg Offer Decisioning ervoor, Edge Segmentation, en Adobe Journey Optimizer worden geselecteerd. Als u de les van het Doel zult doen, uitgezocht Personalization Destinations, ook. Zie {de montages van 0} Adobe Experience Platform 🔗 voor meer informatie.
-
Selecteer Save om de configuratie van de gegevensstroom op te slaan.
Journey Optimizer installeren - extensie voor beslissingstags
-
Navigeer naar Tags , zoek de eigenschap mobile tag en open deze.
-
Selecteer Extensions.
-
Selecteer Catalog.
-
Zoek naar de extensie Adobe Journey Optimizer - Decisioning .
-
De extensie installeren. Voor de extensie is geen aanvullende configuratie vereist.
Uw schema bijwerken
- Navigeer naar de interface voor gegevensverzameling en selecteer Schemas in de linkertrack.
- Selecteer Browse in de bovenste balk.
- Selecteer het schema om het te openen.
- In de schemaredacteur, voegt de uitgezochte toe Add naast de groepen van het Gebied.
- In de Add fields groups dialoog,
onderzoek naar
proposition
, selecteert Experience Event - Proposition Interactions en selecteert Add field groups. Deze veldgroep verzamelt de gegevens van de ervaringsgebeurtenis die relevant zijn voor aanbiedingen: wat aanbod wordt gepresenteerd, als onderdeel van welke verzameling, beslissing en andere parameters (zie later in deze les). Maar wat gebeurt er ook met het aanbod? Wordt het getoond, interactie met, gesloten, etc.
- Selecteer Save om de wijzigingen in uw schema op te slaan.
Setup valideren bij Betrouwbaarheid
Uw instellingen valideren in Betrouwbaarheid:
- Ga naar de betrouwbaarheidsinterface.
- Selecteer Configure in linkerspoor en selecteer naast Validate Setup onder ADOBE JOURNEY OPTIMIZER DECISIONING.
- Selecteer Save.
- Selecteer Validate Setup in het linkerspoor. Zowel de gegevensstroomopstelling als de opstelling van SDK in uw toepassing worden bevestigd.
Plaatsing maken
Voordat u aanbiedingen kunt maken, moet u definiëren hoe en waar deze aanbiedingen in de mobiele app kunnen worden geplaatst. In Beslissingsbeheer definieert u plaatsingen voor dit doel en definieert u een plaatsing voor het mobiele kanaal dat een JSON-payload ondersteunt:
-
In Journey Optimizer UI, uitgezochte Components van DECISION MANAGEMENT in het linkerspoor.
-
Selecteer Placements in de bovenste balk.
-
Als er geen plaatsing met de naam Mobile JSON , Mobile as Channel type en JSON as Content type wordt vermeld, moet u een plaatsing maken. Anders, blijf aanbiedingencreëren.
De Mobile JSON-plaatsing maken:
-
Selecteer plaatsing creëren.
- Voer in de sectie Details
Mobile JSON
in als de Name , selecteer Mobile from Channel type en JSON from Content type . - Selecteer Save om de plaatsing op te slaan.
- Voer in de sectie Details
Aanbiedingen maken
-
In Journey Optimizer UI, uitgezochte Offers van DECISION MANAGEMENT in het linkerspoor.
-
Selecteer Browse in het scherm Offers om de lijst met aanbiedingen weer te geven.
-
Selecteer Create offer.
-
Selecteer Personalized offer in het dialoogvenster New offer en klik op Next .
-
In de Details -stap van Create new personalized offer :
-
Voer een Name in voor de aanbieding, bijvoorbeeld
Luma - Juno Jacket
, en voer een Start date and time en een End date and time in. Buiten deze datums wordt de aanbieding niet geselecteerd door de beslissingsengine. -
Selecteer Next.
-
-
In de Add representations -stap van Create new personalized offer :
-
Selecteer Mobile van Channel lijst, en selecteer Mobile JSON van de Placement lijst.
-
Selecteer Custom voor Content .
-
Selecteer Add content. In het dialoogvenster Add personalization :
-
Als er een Mode -kiezer beschikbaar is, controleert u of deze is ingesteld op JSON .
-
Voer de volgende JSON in:
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" }
-
Selecteer Save.
-
-
Selecteer Next.
-
-
In de stap Add constraints van Create new personalized offer :
-
Stel Priority in op
10
. -
Schakelen Include capping uit.
-
Selecteer Next.
-
-
In de Review -stap van Create new personalized -aanbieding:
- Controleer de aanbieding en selecteer vervolgens Finish .
- Selecteer Save and approve in het dialoogvenster Save offer .
-
Herhaal stap 3 - 8 om nog vier aanbiedingen met verschillende namen en inhoud te maken. Alle andere configuratiewaarden, bijvoorbeeld Begindatum en -tijd of Prioriteit, zijn vergelijkbaar met de eerste aanbieding die u hebt gemaakt. U kunt snel dubbele aanbiedingen maken en deze bewerken.
-
In Journey Optimizer UI, uitgezochte Offers van het linkerspoor, dan uitgezochte Aanbiedingen van de hoogste bar.
-
Selecteer de rij van de aanbieding die u hebt gemaakt.
-
In de juiste ruit, uitgezochte More actions en van het contextmenu uitgezocht Duplicate.
In de onderstaande tabel kunt u de vier andere aanbiedingen definiëren.
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-fixed Naam van aanbieding Inhoud aanbieden in JSON Luminantie - Fles in water met bevestigen { "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" }
Luminantie - Desiree Fitness Tee { "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" }
-
-
Als laatste stap moet u een fallback-aanbieding maken. Dit is een aanbieding die naar klanten wordt gestuurd als ze niet in aanmerking komen voor andere aanbiedingen.
-
Selecteer Create offer.
-
Selecteer Personalized offer in het dialoogvenster Next van New offer .
-
Voer in de Details stap van Create new fallback offer een Name voor de aanbieding in, bijvoorbeeld
Luma - Fallback Offer
, en selecteer Next . -
In de Add representations -stap van Create new fallback offer :
-
Selecteer Mobile van Channel lijst, en selecteer Mobile JSON van Placement lijst.
-
Selecteer Custom voor Content .
-
Selecteer Add content.
-
Voer in het dialoogvenster Add personalization de volgende JSON in en selecteer 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" }
-
Selecteer Next.
-
-
-
In de Review -stap van Create new fallback -aanbieding:
- Controleer de aanbieding en selecteer vervolgens Finish .
- Selecteer Save and approve in het dialoogvenster Save offer .
Je moet nu de volgende lijst met voorstellen hebben:
Een verzameling maken
Als u een voorstel aan uw mobiele-app-gebruiker wilt aanbieden, moet u een aanbiedingsverzameling definiëren die bestaat uit een of meer van de aanbiedingen die u hebt gemaakt.
-
Selecteer in de gebruikersinterface van Journey Optimizer de optie Offers in het linkerspoor.
-
Selecteer Collections in de bovenste balk.
-
Selecteer Create collection.
-
Voer in het dialoogvenster New collection een Name voor uw verzameling in, bijvoorbeeld
Luma - Mobile App Collection
, selecteer Create static collection en klik op Next . -
Selecteer in Luma - Mobile App Collection de aanbiedingen die u in de verzameling wilt opnemen. Kies voor deze zelfstudie de vijf aanbiedingen die u hebt gemaakt. U kunt de lijst eenvoudig filteren met het zoekveld, bijvoorbeeld door Luma te typen.
-
Selecteer Save.
Een beslissing nemen
De laatste stap bestaat uit het definiëren van een beslissing, die bestaat uit de combinatie van een of meer beslissingsbereiken en uw fallback-aanbod.
Een beslissingsbereik is een combinatie van een specifieke plaatsing (bijvoorbeeld HTML in een e-mail of JSON in een mobiele app) en een of meer evaluatiecriteria.
Een evaluatiecriterium is de combinatie van
- een aanbod-collectie;
- subsidiabiliteitsregels: is het aanbod bijvoorbeeld alleen beschikbaar voor een specifiek publiek;
- een rangschikkingsmethode: wanneer er meerdere aanbiedingen beschikbaar zijn waaruit u kunt kiezen, welke methode gebruikt u om deze te rangschikken (bijvoorbeeld op aanbiedingsprioriteit, met behulp van een formule of een AI-model).
Zie Zeer belangrijke stappen om aanbiedingentot stand te brengen en te beheren als u beter wilt begrijpen hoe de plaatsen, de regels, de rangschikkingen, aanbiedingen, vertegenwoordiging, inzamelingen, besluiten, etc., op elkaar inwerken en op elkaar betrekking hebben. Deze les richt zich uitsluitend op het gebruik van de output van een besluit in plaats van op de flexibiliteit bij het bepalen van beslissingen binnen Journey Optimizer - Decision Management.
-
Selecteer in de gebruikersinterface van Journey Optimizer de optie Offers in het linkerspoor.
-
Selecteer Decisions in de bovenste balk.
-
Selecteer Create decision.
-
In de Details -stap van Create a new offer decision :
- Voer een Name voor de beslissing in, bijvoorbeeld
Luma - Mobile App Decision
, voer Start date and time en End date and time in. - Selecteer Next.
- Voer een Name voor de beslissing in, bijvoorbeeld
-
In de Add decision scopes -stap van Create a new offer decision :
-
Selecteer Mobile JSON in de lijst van Placement .
-
In de Evaluation Criteria tegel, uitgezocht Add toe.
-
Selecteer in het dialoogvenster Add Offer Collection de verzameling met aanbiedingen. Bijvoorbeeld Luma - Mobile App Collection .
-
Selecteer Add.
-
-
Zorg ervoor dat None is geselecteerd voor Eligibility en dat Offer priority is geselecteerd als Ranking method .
-
Selecteer Next.
.
-
-
In de Add fallback offer -stap van Create a new offer decision :
- Selecteer de fallback-aanbieding, bijvoorbeeld de Luma - Fallback offer .
- Selecteer Next.
-
In de Summary -stap van Create a new offer decision :
- Selecteer Finish.
- Selecteer Save and activate in het dialoogvenster Save offer decision .
- Op het tabblad Decisions wordt uw beslissing met status Live weergegeven.
Je biedingsbesluit, dat uit een reeks voorstellen bestaat, is nu klaar voor gebruik. Als u de beslissing in uw app wilt gebruiken, moet u in uw code naar het beslissingsbereik verwijzen.
-
Selecteer Offers in de gebruikersinterface van Journey Optimizer.
-
Selecteer Decisions in de bovenste balk.
-
Selecteer uw beslissing, bijvoorbeeld Luma - Mobile App Decision .
-
In de Decision scopes tegel, uitgezochte Copy.
-
Selecteer Decision scope in het contextmenu.
-
Gebruik om het even welke tekstredacteur om het beslissingswerkingsgebied voor later gebruik te kleven. Het beslissingsbereik heeft de volgende JSON-indeling.
code language-json { "xdm:activityId":"xcore:offer-activity:xxxxxxxxxxxxxxx", "xdm:placementId":"xcore:offer-placement:xxxxxxxxxxxxxxx" }
Aanbiedingen in uw app implementeren
Zoals in vorige lessen is besproken, biedt het installeren van een extensie voor mobiele tags alleen de configuratie. Vervolgens moet u de Optimize SDK installeren en registreren. Als deze stappen niet duidelijk zijn, herzie installeer SDKssectie.
-
In Xcode, zorg ervoor dat AEPoptimaliseert aan de lijst van pakketten in de Afhankelijkheden van het Pakket wordt toegevoegd. Zie {de Manager van het Pakket van 0} Swift 🔗.
-
Navigeer naar Luma > Luma > AppDelegate in de Xcode-projectnavigator.
-
Controleer of
AEPOptimize
deel uitmaakt van uw lijst met importbewerkingen.code language-swift import AEPOptimize
-
Controleer of
Optimize.self
deel uitmaakt van de array met extensies die u registreert.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 ]
-
Navigeer naar Luma > Luma > Model > Data > decisions in de Xcode-projectnavigator. Werk de waarden
activityId
enplacementId
bij met de gegevens van het beslissingsbereik die u hebt gekopieerd van de Journey Optimizer-interface. -
Navigeer naar Luma > Luma > Utils > MobileSDK in de Xcode-projectnavigator. Zoek de functie
func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async
. Voeg de volgende code toe: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) }
Deze functie:
-
Hiermee stelt u een XDM-woordenboek
xdmData
in met de ECID om het profiel te identificeren waarvoor u de aanbiedingen moet presenteren. -
bepaalt
decisionScope
, een voorwerp dat op het besluit gebaseerd is u in Journey Optimizer - de interface van het Beheer van het Besluit hebt bepaald en gebruikend het gekopieerde besluitvormingswerkingsgebied van wordt bepaald creeer een besluit. De toepassing Luma gebruikt een configuratiedossier (decisions.json
) dat de werkingsgebiedparameters terugwint, die op het volgende formaat JSON worden gebaseerd:code language-swift "scopes": [ { "name": "name of the scope", "activityId": "xcore:offer-activity:xxxxxxxxxxxxxxx", "placementId": "xcore:offer-placement:xxxxxxxxxxxxxxx", "itemCount": 2 } ]
Nochtans, kunt u om het even welk soort implementatie gebruiken om te verzekeren optimaliseer APIs de juiste parameters (
activityId
krijgt,placementId
en,itemCount
), om een geldigDecisionScope
voorwerp voor uw implementatie te construeren.
voor uw informatie: de andere zeer belangrijke-waarden in hetdecisions.json
dossier zijn voor toekomstig gebruik en niet relevant en gebruikt momenteel in deze les en als deel van het leerprogramma. -
roept twee APIs aan:
Optimize.clearCachePropositions
enOptimize.updatePropositions
. Met deze functies worden alle in de cache opgeslagen voorstellingen gewist en worden de voorstellingen voor dit profiel bijgewerkt.
-
-
Navigeer naar Luma > Luma > Views > Personalization > EdgeOffersView in de Xcode-projectnavigator. Zoek de functie
func onPropositionsUpdateOD(activityId: String, placementId: String, itemCount: Int) async
en inspecteer de code van deze functie. Het belangrijkste deel van deze functie is deOptimize.onPropositionsUpdate
API vraag, die- de voorstellen voor het huidige profiel ophaalt op basis van het beslissingsbereik (dat u hebt gedefinieerd in Journey Optimizer - Decision Management),
- het aanbod uit het voorstel ophaalt;
- de inhoud van de aanbieding opheft, zodat deze correct in de app kan worden weergegeven, en
- activeert de
displayed()
-actie op de aanbieding die een gebeurtenis terugstuurt naar de Edge Network op de hoogte dat de aanbieding wordt weergegeven.
-
Nog steeds in EdgeOffersView , voeg de volgende code aan de
.onFirstAppear
bepaling toe. Deze code zorgt ervoor dat callback voor het bijwerken van de aanbiedingen slechts eenmaal wordt geregistreerd.code language-swift // Invoke callback for offer updates Task { await self.onPropositionsUpdateOD(activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount) }
-
Nog steeds in EdgeOffersView , voeg de volgende code aan de
.task
bepaling toe. Met deze code worden de aanbiedingen bijgewerkt wanneer de weergave wordt vernieuwd.code language-swift // Clear and update offers await self.updatePropositionsOD(ecid: currentEcid, activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
Valideren met de app
-
Rebuild en stel app in werking in de simulator of op een fysiek apparaat van Xcode, gebruikend .
-
Ga naar de tab Personalisation .
-
Selecteer Edge Personalisation.
-
Blader naar de bovenkant en u ziet twee willekeurige aanbiedingen uit de verzameling die u in de DECISION LUMA - MOBILE APP DECISION -tegel hebt gedefinieerd.
{width="300"}
De aanbiedingen zijn willekeurig, aangezien u alle aanbiedingen dezelfde prioriteit heeft gegeven en de rangorde voor het besluit is gebaseerd op prioriteit.
Implementatie valideren bij Betrouwbaarheid
U kunt als volgt de implementatie van de aanbiedingen in Betrouwbaarheid valideren:
-
Herzie de sectie van opstellingsinstructiesom uw simulator of apparaat aan Verzekering te verbinden.
-
Selecteer Configure in linkerspoor en selecteer naast Review & Simulate onder ADOBE JOURNEY OPTIMIZER DECISIONING.
-
Selecteer Save.
-
Selecteer Review & Simulate in het linkerspoor. Zowel de gegevensstroomopstelling wordt bevestigd als de opstelling van SDK in uw toepassing.
-
Selecteer Requests op de bovenste balk. Uw Offers -aanvragen worden weergegeven.
-
U kunt de tabbladen Simulate en Event List raadplegen voor meer functionaliteit en controleren of Journey Optimizer Decision Management is ingesteld.
Volgende stappen
Nu hebt u alle gereedschappen om meer functionaliteit toe te voegen aan uw Journey Optimizer - Beslissingsbeheerimplementatie. Bijvoorbeeld:
- verschillende parameters toepassen op uw aanbiedingen (bijvoorbeeld prioriteit, aftopping)
- verzamel profielattributen in app (zie Profiel) en gebruik deze profielattributen om publiek te bouwen. Gebruik deze soorten publiek vervolgens als onderdeel van de subsidiabiliteitsregels in uw besluit.
- meer dan één beslissingsbereik combineren.
Volgende: voer A/B tests uit