Optimera och personalisera med Adobe Target

Lär dig hur du optimerar och personaliserar upplevelserna i dina mobilappar med Platform Mobile SDK och Adobe Target.

Target innehåller allt som ni behöver för att skräddarsy och personalisera kundernas upplevelser. Target hjälper er att maximera intäkterna från era webbplatser och mobilsajter, appar, sociala medier och andra digitala kanaler. Target kan utföra A/B-tester, multivariata tester, rekommendera produkter och innehåll, målinrikta innehåll, anpassa innehåll automatiskt med AI och mycket annat. Fokus i den här lektionen ligger på A/B-testfunktionen i Target. Mer information finns i Översikt över A/B-tester.

Arkitektur {modal="regular"}

Innan du kan utföra A/B-tester med Target måste du se till att rätt konfigurationer och integreringar finns på plats.

NOTE
Den här lektionen är valfri och gäller endast för Adobe Target-användare som vill utföra A/B-tester.

Förhandskrav

Utbildningsmål

I den här lektionen kommer du att:

  • Uppdatera ditt datastream för Target-integrering.
  • Uppdatera taggegenskaperna med Offer Decisioning- och Target-tilläggen.
  • Uppdatera ditt schema för att hämta förslagshändelser.
  • Validera konfigurationen i Assurance.
  • Skapa ett enkelt A/B-test i Target.
  • Uppdatera appen och registrera tillägget Optimizer.
  • Implementera A/B-testet i din app.
  • Validera implementeringen i Assurance.

Inställningar

TIP
Om du redan har konfigurerat ditt program som en del av Journey Optimizer erbjuder-lektionen kanske du redan har utfört några av stegen i det här konfigurationsavsnittet.

Uppdatera datastream-konfiguration

Adobe Target

Om du vill vara säker på att data som skickas från din mobilapp till Experience Platform Edge Network vidarebefordras till Adobe Target, måste du uppdatera din datastream-konfiguration.

  1. I användargränssnittet för datainsamling väljer du Datastreams och markerar ditt datastream, till exempel Luma Mobile App.

  2. Välj Add Service och välj Adobe Target i listan Service.

  3. Om du är Target Premium-kund och vill använda egenskapstoken anger du det Property Token-målvärde som du vill använda för den här integreringen. Target Standard-användare kan hoppa över det här steget.

    Du hittar dina egenskaper i målgränssnittet i Administration > Properties. Välj Kod för att visa egenskapstoken för den egenskap som du vill använda. Egenskapstoken har formatet "at_property": "xxxxxxxx-xxxx-xxxxx-xxxx-xxxxxxxxxxxx". Du får bara ange värdet xxxxxxxx-xxxx-xxxxx-xxxx-xxxxxxxxxxxx.

    Du kan också ange ett ID för målmiljö. Använd miljöer för att ordna era webbplatser och förproduktionsmiljöer för enkel hantering och separat rapportering. I förinställda miljöer ingår produktion, mellanlagring och utveckling. Mer information finns i Miljö och Målmiljö-ID.

    Du kan också ange ett namnutrymme för ett tredjeparts-ID för mål som stöder profilsynkronisering i ett identitetsnamnområde (till exempel CRM-ID). Mer information finns i Namnområde för tredje parts-ID för mål.

  4. Välj Save.

    Lägg till mål i datastream {modal="regular"}

Adobe Journey Optimizer

För att säkerställa att data som skickas från din mobilapp till Edge Network vidarebefordras till Journey Optimizer - Beslutshantering uppdaterar du din datastream-konfiguration.

  1. I användargränssnittet för datainsamling väljer du Datastreams och markerar ditt datastream, till exempel Luma Mobile App.

  2. Välj Mer för Experience Platform och välj Redigera Edit på snabbmenyn.

  3. Kontrollera att Datastreams, och är markerade på skärmen Adobe Experience Platform > Offer Decisioning Mapp Edge Segmentation > Personalization Destinations. Om du även följer lektionerna från Journey Optimizer väljer du Adobe Journey Optimizer. Mer information finns i Adobe Experience Platform-inställningar.

  4. Välj Save om du vill spara dataströmskonfigurationen.

    AEP datastream-konfiguration {modal="regular"}

Installera taggtillägget Offer Decisioning och Target

Även om den här lektionen handlar om A/B-tester i Target ses resultatet av ett test som ett erbjudande och implementeras i Adobe infrastruktur med taggtilläggen Adobe Offer Decisioning och Target. Tillägget hanterar både erbjudanden från Journey Optimizer och Target.

  1. Navigera till Tags, hitta din mobila taggegenskap och öppna egenskapen.

  2. Välj Extensions.

  3. Välj Catalog.

  4. Sök efter tillägget Offer Decisioning and Target.

  5. Installera tillägget. Tillägget kräver ingen ytterligare konfiguration.

    Lägg till Offer Decisioning- och måltillägg {modal="regular"}

Uppdatera ditt schema

  1. Navigera till gränssnittet för datainsamling och välj Schemas i den vänstra listen.

  2. Välj Browse i det övre fältet.

  3. Välj ditt schema för att öppna det.

  4. Välj Lägg till Add intill Field groups i schemaredigeraren.

  5. I dialogrutan Add field groups söker du efter proposition, väljer Experience Event - Proposition Interactions och väljer Add field groups.

    Föreslå {modal="regular"}

  6. Om du vill spara ändringarna i ditt schema väljer du Save.

Validera inställningar i Assurance

Så här validerar du konfigurationen i Assurance:

  1. Gå till Assurance användargränssnitt.

  2. Markera Configure i den vänstra listen och välj Lägg till intill Validate Setup under OFFER DECISIONING AND TARGET.

  3. Välj Save.

  4. Välj Validate Setup i den vänstra listen. Både datastream-konfigurationen valideras och SDK-konfigurationen i ditt program.

    Verifiering av AJO-beslut {modal="regular"}

Skapa ett A/B-test

Det finns många typer av aktiviteter som du kan skapa i Adobe Target och implementera i en mobilapp, vilket nämndes i inledningen. I den här lektionen implementerar du ett A/B-test.

  1. Välj Activities i det övre fältet i målgränssnittet.

  2. Välj Create Activity och A/B Test på snabbmenyn.

  3. I dialogrutan Create A/B Test Activity väljer du Mobile som Type och väljer en arbetsyta i listan Choose Workspace. Välj din egenskap i listan Choose property om du är Target Premium-kund och har angett en egenskapstoken i datastream.

  4. Välj Create.
    Skapa målaktivitet {modal="regular"}

  5. På skärmen Untitled Activity, i steget Experiences:

    1. Ange luma-mobileapp-abtest i Select Location under Location 1. Det här platsnamnet (kallas ofta mbox) används senare i programimplementeringen.

    2. Välj Mer bredvid Content och välj Create JSON Offer på snabbmenyn.

    3. Klistra in följande JSON i dialogrutan Create JSON Offer.

      code language-json
      {
          "title": "Luma Anaolog Watch",
          "text": "Designed to stand up to your active lifestyle, this women's Luma Analog Watch features a tasteful brushed chrome finish and a stainless steel, water-resistant construction for lasting durability.",
          "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/gear/watches/Luma_Analog_Watch.jpg"
      }
      

      Upplev A {modal="regular"}

      Välj Create.

    4. Välj + bredvid Experiences om du vill lägga till Experience B.

    5. Upprepa steg b och c för upplevelsen Experience B, men använd i stället Aim Analog Watch som titel och klistra in följande JSON:

      code language-json
      {
          "title": "Aim Analog Watch",
          "text": "The flexible, rubberized strap is contoured to conform to the shape of your wrist for a comfortable all-day fit. The face features three illuminated hands, a digital read-out of the current time, and stopwatch functions.",
          "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/gear/watches/Aim_Watch.jpg"
      }
      
  6. Granska konfigurationen av A/B-testet i steget Targeting. Som standard fördelas båda erbjudandena lika till alla besökare. Välj Next om du vill fortsätta.

    Målgruppsanpassning {modal="regular"}

  7. I steget Goals & Settings:

    1. Byt namn på din namnlösa aktivitet, till exempel till Luma Mobile SDK Tutorial - A/B Test Example.

    2. Ange Objective som A/B-test, till exempel A/B Test for Luma mobile app tutorial.

    3. Välj Conversion, Viewed an mbox i rutan Goal Metric > MY PRIMARY GOAL och ange ditt platsnamn (mbox), till exempel luma-mobileapp-abtest.

    4. Välj Save & Close.

      Målinställningar {modal="regular"}

  8. Tillbaka på skärmen All Activities:

    1. Välj Mer i din aktivitet.
    2. Välj Spela upp Activate för att aktivera A/B-testet.

    Aktivera {modal="regular"}

Implementera mål 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.

NOTE
Om du har slutfört avsnittet Installera SDK:er är SDK redan installerat och du kan hoppa över det här steget.
iOS
  1. Kontrollera att AEP Optimize har lagts till i listan över paket i paketberoenden i Xcode. Se Hanteraren för wift-paket.

  2. Navigera till Luma > Luma > AppDelegate i Xcode Project-navigatorn.

  3. Se till att AEPOptimize ingår i din lista över importer.

    import AEPOptimize

  4. 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
    ]
    
  5. Navigera till Luma > Luma > Utils > MobileSDK i Xcode Project-navigatorn. Hitta funktionen func updatePropositionAT(ecid: String, location: String) 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(name: location)
        Optimize.clearCachedPropositions()
        Optimize.updatePropositions(for: [decisionScope], withXdm: xdmData) { data, error in
            if let error = error {
                Logger.aepMobileSDK.error("MobileSDK - updatePropositionsAT: Error updating propositions: \(error.localizedDescription)")
            }
        }
    }
    

    Den här funktionen:

    • skapar en XDM-ordlista xdmData som innehåller ECID för att identifiera den profil som du måste presentera A/B-testet för, och
    • definierar en decisionScope, en matris med platser där A/B-testet ska presenteras.

    Sedan anropar funktionen två API Optimize.clearCachedPropositions och Optimize.updatePropositions. Dessa funktioner rensar alla cachelagrade offerter och uppdaterar propositionerna för den här profilen. Ett förslag i det här sammanhanget är upplevelsen (erbjudandet) som väljs från målaktiviteten (ditt A/B-test) och som du definierade i Skapa ett A/B-test.

  6. Navigera till Luma > Luma > Views > Personalization > TargetOffersView i Xcode Project-navigatorn. Hitta funktionen func onPropositionsUpdateAT(location: String) async { och kontrollera koden för den här funktionen. Den viktigaste delen av den här funktionen är API-anropet Optimize.onPropositionsUpdate som:

    • hämtar förslagen för den aktuella profilen baserat på beslutsomfånget (den plats du har definierat i A/B-testet),
    • 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 Platform Edge Network som informerar om att erbjudandet visas.
  7. I TargetOffersView 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.onPropositionsUpdateAT(location: location)
    }
    
  8. I TargetOffersView 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.updatePropositionsAT(ecid: currentEcid, location: location)
    
Android
  1. I Android Studio kontrollerar du att aepsdk-optimize-android är en del av beroendena i build.gradle.kts i Android ChevronDown > Gradle Scripts. Se Gradle.

  2. Navigera till app > kotlin+java > com.adobe.luma.tutorial.android > MainActivity i Android Studio-navigatorn.

  3. Se till att Optimize ingår i din lista över importer.

    code language-kotlin
    import com.adobe.marketing.mobile.optimize.Optimize
    
  4. Kontrollera att Optimize.EXTENSION är en del av den array med tillägg som du registrerar.

    code language-kotlin
    val extensions = listOf(
       Identity.EXTENSION,
       Lifecycle.EXTENSION,
       Signal.EXTENSION,
       Edge.EXTENSION,
       Consent.EXTENSION,
       UserProfile.EXTENSION,
       Places.EXTENSION,
       Messaging.EXTENSION,
       Optimize.EXTENSION,
       Assurance.EXTENSION
    )
    
  5. Navigera till Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK i Android Studio-navigatorn. Hitta funktionen suspend fun updatePropositionsAT(ecid: String, location: String). Lägg till följande kod:

    code language-kotlin
    // set up the XDM dictionary, define decision scope and call update proposition API
    withContext(Dispatchers.IO) {
        val ecidMap = mapOf("ECID" to mapOf("id" to ecid, "primary" to true))
        val identityMap = mapOf("identityMap" to ecidMap)
        val xdmData = mapOf("xdm" to identityMap)
        val decisionScope = DecisionScope(location)
        Optimize.clearCachedPropositions()
        Optimize.updatePropositions(listOf(decisionScope), xdmData, null, object :
            AdobeCallbackWithOptimizeError<MutableMap<DecisionScope?, OptimizeProposition?>?> {
            override fun fail(optimizeError: AEPOptimizeError?) {
                val responseError = optimizeError
                Log.i("MobileSDK", "updatePropositionsAT error: ${responseError}")
            }
            override fun call(propositionsMap: MutableMap<DecisionScope?, OptimizeProposition?>?) {
                val responseMap = propositionsMap
                Log.i("MobileSDK", "updatePropositionsOD call: ${responseMap}")
            }
        })
    }
    

    Den här funktionen:

    • skapar en XDM-ordlista xdmData som innehåller ECID för att identifiera den profil som du måste presentera A/B-testet för, och
    • definierar en decisionScope, en matris med platser där A/B-testet ska presenteras.

    Funktionen anropar sedan två API Optimize.clearCachedPropositions och Optimize.updatePropositions. Dessa funktioner rensar alla cachelagrade offerter och uppdaterar propositionerna för den här profilen. Ett förslag i det här sammanhanget är upplevelsen (erbjudandet) som väljs från målaktiviteten (ditt A/B-test) och som du definierade i Skapa ett A/B-test.

  6. Navigera till app > kotlin+java > com.adobe.luma.tutorial.android > views > TargetOffers.kt i Android Studio-navigatorn. Hitta funktionen fun onPropositionsUpdateAT(location: String): List<OfferItem> och kontrollera koden för den här funktionen. Den viktigaste delen av den här funktionen är API-anropet Optimize.onPropositionsUpdate som:

    • hämtar förslagen för den aktuella profilen baserat på beslutsomfånget (den plats du har definierat i A/B-testet),
    • hämtar erbjudandet från erbjudandet,
    • frigör innehållet i erbjudandet så att det kan visas korrekt i appen, och
    • returnerar erbjudandet.
  7. I TargetOffers.kt lägger du till funktionen LaunchedEffect för att se till att erbjudandena uppdateras när du startar fliken Personalization.

    code language-kotlin
    // recompose the view when the number of received offers changes
    LaunchedEffect(offersAT.count()) {
        updatePropositionsAT(currentEcid, MobileSDK.shared.targetLocation.value)
        offersAT = onPropositionsUpdateAT(MobileSDK.shared.targetLocation.value)
    }
    

Du kan skicka ytterligare Target-parametrar (som mbox-, profile-, product- eller order-parametrar) i en begäran om en personaliseringsfråga till Experience Edge-nätverket genom att lägga till dem i en dataordlista när du anropar Optimize.updatePropositions -API:t. Mer information finns i Målparametrar.

Validera med appen

iOS
  1. Återskapa och kör appen i simulatorn eller på en fysisk enhet från Xcode med Play .

  2. Gå till fliken Personalization.

  3. Bläddra nedåt och se ett av de två erbjudanden som du har definierat i A/B-testet som visas i TARGET-rutan.

    {width="300"}

Android
  1. Återskapa och kör appen i simulatorn eller på en fysisk enhet från Android Studio med Play .

  2. Gå till fliken Personalization.

  3. Ett av de två erbjudandena som du har definierat i A/B-testet visas i den nedre rutan i rutan TARGET.

    {width="300"}

Validera implementering i Assurance

Så här validerar du A/B-testet i Assurance:

  1. Granska avsnittet installationsanvisningar för att ansluta simulatorn eller enheten till Assurance.

  2. Markera Configure i den vänstra listen och välj Lägg till intill Review & Simulate under OFFER DECSIONING AND TARGET.

  3. Välj Save.

  4. Välj Review & Simulate i den vänstra listen. Både datastream-konfigurationen valideras och SDK-konfigurationen i ditt program.

  5. Välj Requests i det övre fältet. Du ser dina Target-begäranden.
    Verifiering av AJO-beslut {modal="regular"}

  6. Du kan utforska flikarna Simulate och Event List om du vill ha ytterligare funktioner som hjälper dig att validera konfigurationen av dina Target-erbjudanden.

Nästa steg

Nu bör du ha alla verktyg du behöver för att börja lägga till fler A/B-tester eller andra Target-aktiviteter (som Experience Targeting, Multivariate Test), där det är relevant och tillämpligt, i din app. Det finns mer detaljerad information i GitHub-rapporten för tillägget Optimera där du också kan hitta en länk till en dedikerad självstudiekurs om hur du spårar Adobe Target-erbjudanden.

SUCCESS
Du har aktiverat appen för A/B-tester och visat resultatet av ett A/B-test med Offer Decisioning- och Target-tillägget för Adobe Experience Platform Mobile SDK.
Tack för att du har lagt ned din tid på att lära dig om Adobe Experience Platform Mobile SDK. Om du har frågor, vill dela allmän feedback eller har förslag på framtida innehåll kan du dela dem i det här Experience League Community-diskussionsinlägget.

Nästa: Slutsats och nästa steg

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