Angebote mit Entscheidungs-Management erstellen und anzeigen

Erfahren Sie, wie Sie mit Experience Platform Mobile SDK Angebote aus dem Journey Optimizer-Entscheidungs-Management in Ihren Mobile Apps anzeigen können.

Mit dem Journey Optimizer Entscheidungs-Management können Sie Ihren Kunden über alle Touchpoints hinweg zur richtigen Zeit das beste Angebot und Erlebnis bieten. Nach der Erstellung können Sie personalisierte Angebote an Ihre Audience senden.

Architektur {modal="regular"}

Entscheidungs-Management erleichtert die Personalisierung durch eine zentrale Bibliothek mit Marketing-Angeboten und eine Entscheidungs-Engine, die Regeln und Einschränkungen auf die von Adobe Experience Platform erstellten Echtzeitprofile anwendet. Dadurch können Sie Ihren Kunden das richtige Angebot zum richtigen Zeitpunkt senden. Weitere Informationen Sie unterÜber das Entscheidungs-Management“.

NOTE
Diese Lektion ist optional und gilt nur für Journey Optimizer-Benutzende, die die Entscheidungs-Management-Funktion verwenden möchten, um Angebote in einer Mobile App anzuzeigen.

Voraussetzungen

Lernziele

In dieser Lektion werden Sie

  • Aktualisieren Sie Ihre Edge-Konfiguration für das Entscheidungs-Management.
  • Aktualisieren Sie Ihre Tag-Eigenschaft mit der Offer Decisioning- und Target-Erweiterung.
  • Schema zur Erfassung von Vorschlagsereignissen aktualisieren
  • Überprüfen Sie das Setup in Assurance.
  • Erstellen einer Angebotsentscheidung basierend auf Angeboten in Journey Optimizer - Entscheidungs-Management.
  • Aktualisieren Sie Ihre App, um die Optimizer-Erweiterung zu registrieren.
  • Implementieren Sie Angebote aus dem Entscheidungs-Management in Ihrer App.

Einrichten

TIP
Wenn Sie Ihre Umgebung bereits im Rahmen der Lektion Einrichten von A/B-Tests mit Target eingerichtet haben, haben Sie möglicherweise bereits einige der Schritte in diesem Abschnitt Setup ausgeführt.

Aktualisieren der Datenstromkonfiguration

Um sicherzustellen, dass Daten, die von Ihrer Mobile App an Platform Edge Network gesendet werden, an Journey Optimizer - Entscheidungs-Management weitergeleitet werden, aktualisieren Sie Ihren Datenstrom.

  1. Wählen Sie in der Datenerfassungs-Benutzeroberfläche Datenströme und wählen Sie Ihren Datenstrom aus, z. B. Luma Mobile App.

  2. Wählen Sie Mehr für Experience Platform und wählen Sie Bearbeiten Bearbeiten aus dem Kontextmenü.

  3. Stellen Sie sicher dass im Bildschirm Datenströme > Ordner > Adobe Experience Platform Offer Decisioning, Edge-Segmentierung und Adobe Journey Optimizer ausgewählt sind. Wenn Sie die Target-Lektion durchführen, wählen Sie auch {0 Personalization Destinations aus. Weitere Informationen finden Sie unter {}Adobe Experience Platform-Einstellungen.

  4. Um Ihre Datenstromkonfiguration zu speichern, wählen Sie Speichern aus.

    Konfiguration des AEP-Datenstroms {modal="regular"}

Installieren der Tags-Erweiterung für Offer Decisioning und Target

  1. Navigieren Sie zu Tags, suchen Sie die Eigenschaft für mobile Tags und öffnen Sie sie.

  2. Wählen Sie Erweiterungen aus.

  3. Wählen Sie Katalog aus.

  4. Suchen Sie nach der Erweiterung Offer Decisioning und Target.

  5. Installieren Sie die Erweiterung . Die Erweiterung erfordert keine zusätzliche Konfiguration.

    Offer Decisioning- und Target-Erweiterung hinzufügen {modal="regular"}

Schema aktualisieren

  1. Navigieren Sie zur Datenerfassungs-Oberfläche und wählen Sie Schemas in der linken Leiste aus.

  2. Wählen Durchsuchen in der oberen Leiste aus.

  3. Wählen Sie Ihr Schema aus, um es zu öffnen.

  4. Wählen Sie im Schema-Editor Hinzufügen Hinzufügen neben Feldergruppen aus.

  5. Suchen Sie im Feldergruppen hinzufügen-Dialogfeld nach Suchen und wählen Sie propositionErlebnisereignis - Vorschlagsinteraktionen und dann Feldergruppen hinzufügen. Diese Feldergruppe erfasst die Erlebnisereignisdaten, die für Angebote relevant sind, z. B. welches Angebot als Teil welcher Sammlung, Entscheidung und anderer Parameter angezeigt wird (siehe weiter unten in dieser Lektion)? Aber auch was passiert mit dem Angebot? Wird sie angezeigt, interagiert, abgelehnt usw.?

    Vorschlag {modal="regular"}

  6. Klicken Sie Speichern, um die Änderungen an Ihrem Schema zu speichern.

Überprüfen des Setups in Assurance

So validieren Sie das Setup in Assurance:

  1. Navigieren Sie zur Assurance-Benutzeroberfläche.

  2. Wählen Sie Konfigurieren in der linken Leiste und wählen Sie Hinzufügen neben Setup überprüfen unter OFFER DECISIONING AND TARGET.

  3. Wählen Sie Speichern aus.

  4. Wählen in der Leiste Setup validieren aus. Sowohl die Datenstromeinrichtung als auch die SDK-Einrichtung in Ihrem Programm werden validiert.

    AJO Decisioning-Validierung {modal="regular"}

Platzierung erstellen

Bevor Sie tatsächlich Angebote erstellen können, müssen Sie definieren, wie und wo diese Angebote in der Mobile App platziert werden können. Im Entscheidungs-Management definieren Sie zu diesem Zweck Platzierungen und eine Platzierung für den mobilen Kanal, der eine JSON-Payload unterstützt:

  1. Wählen Sie in der Benutzeroberfläche von Journey Optimizer Komponenten Komponenten in ENTSCHEIDUNGS- in der linken Leiste aus.

  2. Wählen Platzierungen in der oberen Leiste aus.

  3. Wenn keine Platzierung mit dem Namen Mobile JSON, Mobile als Kanaltyp und JSON als Inhaltstyp aufgeführt ist, müssen Sie eine Platzierung erstellen. Fahren Sie andernfalls mit Angebote erstellen fort.

So erstellen Sie die mobile JSON-Platzierung:

  1. Wählen Sie Hinzufügen Platzierung erstellen aus.

    1. Geben Sie im Abschnitt Details den Mobile JSON als Name ein, wählen Sie Mobile aus Kanaltyp und JSON aus Content-Typ.
    2. Wählen Speichern, um die Platzierung zu speichern.

    Platzierung erstellen {modal="regular"}

Erstellen der Angebote

  1. Wählen Sie in der Benutzeroberfläche von Journey Optimizer Angebote Angebote in ENTSCHEIDUNGS- in der linken Leiste aus.

  2. Wählen Sie auf dem Angebote die Option Durchsuchen, um die Liste der Angebote anzuzeigen.

  3. Wählen Sie Angebot erstellen aus.

  4. Wählen Sie im Neues Angebot die Option Personalisiertes Angebot und klicken Sie auf Weiter.

  5. Im Schritt Details von Neues personalisiertes Angebot erstellen:

    1. Geben Sie einen Namen für das Angebot ein, z. B. Luma - Juno Jacket, und geben Sie ein Startdatum und -zeit und ein Enddatum und -zeit ein. Nur Angebote innerhalb dieser Daten werden von der Decisioning-Engine ausgewählt.

    2. Klicken Sie auf Weiter.

      Angebote - Details {modal="regular"}

  6. Im Schritt Darstellungen hinzufügen von Neues personalisiertes Angebot erstellen:

    1. Wählen Sie Mobil Mobil aus der Liste Kanal und wählen Sie Mobil-JSON aus der Liste Platzierung aus.

    2. Wählen Sie Benutzerdefiniert für Inhalt aus.

    3. Wählen Sie Inhalt hinzufügen aus. Im Dialogfeld Personalisierung hinzufügen:

      1. Ist ein Modus-Selektor verfügbar, stellen Sie sicher, dass er auf "".

      2. Geben Sie die folgende JSON ein:

        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. Wählen Sie Speichern aus.
        Angebote - Benutzerdefinierte Inhalte {modal="regular"}

    4. Klicken Sie auf Weiter.

      Angebotsdarstellungen {modal="regular"}

  7. Im Schritt Einschränkungen hinzufügen des Neues personalisiertes Angebot erstellen:

    1. Legen Priorität auf 10 fest.

    2. Schalten Sie Begrenzung einschließen aus.

    3. Klicken Sie auf Weiter.

      Angebote - Einschränkungen {modal="regular"}

  8. Im Schritt Überprüfen von Neues personalisiertes erstellen:

    1. Überprüfen Sie das Angebot und wählen Sie dann Beenden aus.
    2. Wählen Sie im Angebot speichern die Option Speichern und genehmigen aus.
  9. Wiederholen Sie die Schritte 3 bis 8, um vier weitere Angebote mit unterschiedlichen Namen und Inhalten zu erstellen. Alle anderen Konfigurationswerte, z. B. Startdatum und -zeit oder Priorität, ähneln dem ersten von Ihnen erstellten Angebot. Sie können Angebote schnell duplizieren und bearbeiten.

    1. Wählen Sie in der Journey Optimizer Benutzeroberfläche Angebote Angebote in der linken Leiste und dann Angebote in der oberen Leiste aus.

    2. Wählen Sie die Zeile des erstellten Angebots aus.

    3. Wählen Sie im rechten Bereich Mehr Mehr Aktionen und wählen Sie im Kontextmenü Duplizieren Duplizieren.

      Definieren Sie anhand der folgenden Tabelle die vier anderen Angebote.

      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-fixed
      Name des Angebots Angebotsinhalte in JSON
      Luma - Flasche Wasser bestätigen { "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 - Desiree Fitness-T-Shirt { "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 Jacke { "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-T-Shirt { "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. Als letzten Schritt müssen Sie ein Fallback-Angebot erstellen, bei dem es sich um ein Angebot handelt, das an Kunden gesendet wird, wenn sie für andere Angebote nicht infrage kommen.

    1. Wählen Sie Angebot erstellen aus.

    2. Wählen Sie Dialogfeld Neues Angebot“ Personalisiertes Angebot und klicken Sie auf Weiter.

    3. Geben Sie im Details von Neues Fallback-Angebot erstellen einen Namen für das Angebot ein, z. B. Luma - Fallback Offer, und wählen Sie Weiter.

    4. Im Schritt Darstellungen hinzufügen von Neues Fallback-Angebot erstellen:

      1. Wählen Sie Mobil Mobil aus der Liste Kanal und wählen Sie Mobil-JSON aus der Liste Platzierung aus.

      2. Wählen Sie Benutzerdefiniert für Inhalt aus.

      3. Wählen Sie Inhalt hinzufügen aus.

      4. Geben Sie im Dialogfeld Personalisierung hinzufügen die folgende JSON ein und wählen Sie Speichern:

        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. Klicken Sie auf Weiter.

  11. Im Schritt Überprüfen von Neues Fallback erstellen Angebot:

    1. Überprüfen Sie das Angebot und wählen Sie dann Beenden aus.
    2. Wählen Sie im Angebot speichern die Option Speichern und genehmigen aus.

Sie sollten jetzt über die folgende Liste von Angeboten verfügen:
Liste der Angebote {modal="regular"}

Erstellen einer Sammlung

Um Ihrem Mobile-App-Benutzer ein Angebot zu unterbreiten, müssen Sie eine Angebotssammlung definieren, die aus einem oder mehreren der von Ihnen erstellten Angebote besteht.

  1. Wählen Sie in der Journey Optimizer-Benutzeroberfläche Angebote in der linken Leiste aus.

  2. Wählen Sammlungen in der oberen Leiste aus.

  3. Wählen Sie Hinzufügen Sammlung erstellen aus.

  4. Geben Sie im Dialogfeld Neue Sammlung einen Namen für Ihre Sammlung ein, z. B. Luma - Mobile App Collection, wählen Sie Statische Sammlung erstellen und klicken Sie auf Weiter.

  5. Wählen Sie Luma - Mobile App Collection die Angebote aus, die Sie in die Sammlung aufnehmen möchten. Wählen Sie für dieses Tutorial die fünf von Ihnen erstellten Angebote aus. Sie können die Liste einfach mithilfe des Suchfelds filtern, indem Sie z. B. Luma eingeben.

  6. Wählen Sie Speichern aus.

    Angebote - Sammlung {modal="regular"}

Eine Entscheidung erstellen

Der letzte Schritt besteht darin, eine Entscheidung zu definieren, bei der es sich um die Kombination aus einem oder mehreren Entscheidungsumfängen und Ihrem Fallback-Angebot handelt.

Ein Entscheidungsumfang ist eine Kombination aus einer bestimmten Platzierung (z. B. HTML in einer E-Mail oder JSON in einer Mobile App) und einem oder mehreren Auswertungskriterien.

Ein Bewertungskriterium ist die Kombination aus

  • eine Angebotssammlung,
  • Eignungsregeln: Ist das Angebot beispielsweise nur für eine bestimmte Zielgruppe verfügbar,
  • eine Ranking-Methode: Wenn mehrere Angebote zur Auswahl verfügbar sind, nach welcher Methode werden sie sortiert (z. B. nach Angebotspriorität, mithilfe einer Formel oder eines KI-Modells)?

Siehe Wichtige Schritte zum Erstellen und Verwalten von), wenn Sie verstehen möchten, wie Platzierungen, Regeln, Rankings, Angebote, Darstellungen, Sammlungen, Entscheidungen usw. interagieren und miteinander in Beziehung stehen. Diese Lektion konzentriert sich ausschließlich auf die Verwendung der Ausgabe einer Entscheidung und nicht auf die Flexibilität bei der Definition von Entscheidungen innerhalb von Journey Optimizer - Entscheidungs-Management.

  1. Wählen Sie in der Journey Optimizer-Benutzeroberfläche Angebote in der linken Leiste aus.

  2. Wählen Sie Entscheidungen in der oberen Leiste aus.

  3. Wählen Sie Hinzufügen Entscheidung erstellen aus.

  4. Im Schritt Details von Neue Angebotsentscheidung erstellen:

    1. Geben Sie einen Namen für die Entscheidung ein, z. B. Luma - Mobile App Decision, geben Sie Startdatum und -zeit und Enddatum und -zeit ein.
    2. Klicken Sie auf Weiter.
  5. Im Entscheidungsumfänge hinzufügen von Neue Angebotsentscheidung erstellen:

    1. Wählen Sie Mobile JSON in der Liste Platzierung aus.

    2. Wählen in der Kachel Auswertungskriterien“ Hinzufügen Hinzufügen aus.

      1. Wählen im Dialogfeld " hinzufügen“ Ihre Angebotssammlung aus. Beispiel: Luma - Mobile App Collection.

      2. Wählen Sie Hinzufügen aus.

        Entscheidung - Sammlung auswählen {modal="regular"}

    3. Stellen Sie sicher dass Keine“ für Eignung und Angebotspriorität als ausgewählt ist.

    4. Klicken Sie auf Weiter.

      Entscheidungsumfänge {modal="regular"}

  6. Im Schritt Fallback-Angebot hinzufügen von Neue Angebotsentscheidung erstellen:

    1. Wählen Sie Ihr Fallback-Angebot aus, z. B. die Luma - Fallback offer.
    2. Klicken Sie auf Weiter.
  7. Im Schritt Zusammenfassung von Neue Angebotsentscheidung erstellen:

    1. Wählen Sie Beenden aus.
    2. Wählen Sie im Angebotsentscheidung speichern die Option Speichern und aktivieren.
    3. Auf der Registerkarte Entscheidungen wird Ihre Entscheidung mit dem Status Live angezeigt.

Ihre Angebotsentscheidung, die aus einer Reihe von Angeboten besteht, ist jetzt einsatzbereit. Um die Entscheidung in Ihrer App zu verwenden, müssen Sie in Ihrem Code auf den Entscheidungsumfang verweisen.

  1. Wählen Sie in der Journey Optimizer-Benutzeroberfläche Angebote.

  2. Wählen Sie Entscheidungen in der oberen Leiste aus.

  3. Wählen Sie Ihre Entscheidung aus, z. B. Luma - Mobile App Decision.

  4. Wählen in der Kachel Entscheidungsumfänge“ die Option Kopieren Kopieren.

  5. Wählen Sie im Kontextmenü die Option Entscheidungsumfang aus.

    Entscheidungsumfang kopieren {modal="regular"}

  6. Verwenden Sie einen beliebigen Texteditor, um den Entscheidungsumfang zur späteren Verwendung einzufügen. Der Entscheidungsumfang hat das folgende JSON-Format.

    code language-json
    {
        "xdm:activityId":"xcore:offer-activity:xxxxxxxxxxxxxxx",
        "xdm:placementId":"xcore:offer-placement:xxxxxxxxxxxxxxx"
    }
    

Implementieren von Angeboten in Ihrer App

Wie in den vorherigen Lektionen erläutert, wird bei der Installation einer mobilen Tag-Erweiterung nur die Konfiguration bereitgestellt. Als Nächstes müssen Sie die Optimize SDK installieren und registrieren. Wenn diese Schritte nicht klar sind, lesen Sie den Abschnitt Installieren von SDKs.

NOTE
Wenn Sie den Abschnitt Installieren von SDKs abgeschlossen haben, ist die SDK bereits installiert und Sie können diesen Schritt überspringen.
iOS
  1. Stellen Sie in Xcode sicher, dass AEP Optimize zur Liste der Pakete in den Paketabhängigkeiten hinzugefügt wird. Siehe Swift Package Manager.

  2. Navigieren Sie im Xcode-Projekt Luma Navigator zu Luma > > AppDelegate.

  3. Stellen Sie sicher, dass AEPOptimize Teil Ihrer Importliste ist.

    code language-swift
    import AEPOptimize
    
  4. Stellen Sie sicher, dass Optimize.self Teil des Arrays von Erweiterungen ist, die Sie registrieren.

    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. Navigieren Sie im Xcode-Projekt-Navigator zu Luma > Luma > Model > Data Entscheidungen. Aktualisieren Sie die activityId- und placementId mit den Details zum Entscheidungsumfang , die Sie aus der Journey Optimizer-Oberfläche kopiert haben.

  6. Navigieren Sie im Xcode-Projekt Luma Navigator zu Luma > Utils > > MobileSDK“. Suchen Sie die func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async. Fügen Sie den folgenden Code hinzu:

    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) { data, error in
             if let error = error {
                Logger.aepMobileSDK.error("MobileSDK - updatePropositionsAT: Error updating propositions: \(error.localizedDescription)")
             }
       }
    }
    

    Diese Funktion:

    • richtet eine XDM-xdmData ein, die die ECID enthält, um das Profil zu identifizieren, für das Sie Angebote unterbreiten müssen.

    • definiert decisionScope, ein Objekt, das auf der von Ihnen in der Benutzeroberfläche von Journey Optimizer - Entscheidungs-Management definierten Entscheidung basiert und mithilfe des kopierten Entscheidungsumfangs aus Entscheidung erstellen“ definiert. Die Luma-App verwendet eine Konfigurationsdatei (decisions.json), die die Bereichsparameter basierend auf dem folgenden JSON-Format abruft:

      code language-json
      "scopes": [
          {
              "name": "name of the scope",
              "activityId": "xcore:offer-activity:xxxxxxxxxxxxxxx",
              "placementId": "xcore:offer-placement:xxxxxxxxxxxxxxx",
              "itemCount": 2
          }
      ]
      

      Sie können jedoch jede Art von Implementierung verwenden, um sicherzustellen, dass die Optimieren-APIs die richtigen Parameter (activityId, placementId und itemCount) erhalten, um ein gültiges DecisionScope für Ihre Implementierung zu erstellen.
      Zu Ihrer Information: Die anderen Schlüsselwerte in der decisions.json-Datei sind für die zukünftige Verwendung vorgesehen und sind nicht relevant und werden derzeit in dieser Lektion und als Teil des Tutorials verwendet.

    • ruft zwei APIs auf: Optimize.clearCachePropositions und Optimize.updatePropositions. Diese Funktionen löschen alle zwischengespeicherten Vorschläge und aktualisieren die Vorschläge für dieses Profil.

  7. Navigieren Sie im Xcode-Projekt-Navigator zu Luma > Luma > Views > {}Personalization> EdgeOffersView . Suchen Sie die Funktion func onPropositionsUpdateOD(activityId: String, placementId: String, itemCount: Int) async und überprüfen Sie den Code dieser Funktion. Der wichtigste Teil dieser Funktion ist der Optimize.onPropositionsUpdate-API-Aufruf, der

    • ruft die Vorschläge für das aktuelle Profil basierend auf dem Entscheidungsumfang ab (den Sie unter Journey Optimizer - Entscheidungs-Management definiert haben),
    • das Angebot aus dem Vorschlag abruft,
    • den Inhalt des Angebots entpackt, damit es ordnungsgemäß in der App angezeigt werden kann, und
    • Trigger : Die displayed() für das Angebot, das ein Ereignis zurück an Edge Network sendet, das darüber informiert, dass das Angebot angezeigt wird.
  8. Fügen Sie in EdgeOffersView den folgenden Code zum Modifikator .onFirstAppear hinzu. Dieser Code stellt sicher, dass der Callback zum Aktualisieren der Angebote nur einmal registriert wird.

    code language-swift
    // Invoke callback for offer updates
    Task {
        await self.onPropositionsUpdateOD(activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
    }
    
  9. Fügen Sie EdgeOffersView noch den folgenden Code zum Modifikator .task hinzu. Dieser Code aktualisiert die Angebote, wenn die Ansicht aktualisiert wird.

    code language-swift
    // Clear and update offers
    await self.updatePropositionsOD(ecid: currentEcid, activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
    
Android
  1. Stellen Sie in Android Studio sicher, dass aepsdk-optimize-android) Teil der Abhängigkeiten in build.gradle.kts (Module :app) in Android ChevronDown > Gradle Scripts ist. Siehe Gradle.

  2. Navigieren Sie zu Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > MainActivity im Android Studio-Navigator.

  3. Stellen Sie sicher, dass Optimize Teil Ihrer Importliste ist.

    code language-kotlin
    import com.adobe.marketing.mobile.optimize.Optimize
    
  4. Stellen Sie sicher, dass Optimize.EXTENSION Teil des Arrays von Erweiterungen ist, die Sie registrieren.

    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. Android Navigieren Sie im Xcode-Projekt Navigator zu {} ChevronDown > > app > assets > data decisions.json . Aktualisieren Sie die activityId- und placementId mit den Details zum Entscheidungsumfang , die Sie aus der Journey Optimizer-Oberfläche kopiert haben.

  6. Android Navigieren Sie im Android -Navigator zu {}ChevronDown > > app > kotlin+java > com.adobe.luma.tutorial.android models > MobileSDK . Suchen Sie die suspend fun updatePropositionsOD(ecid: String, activityId: String, placementId: String, itemCount: Int) . Fügen Sie den folgenden Code hinzu:

    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(activityId, placementId, itemCount)
       Optimize.clearCachedPropositions()
       Optimize.updatePropositions(listOf(decisionScope), xdmData, null, object :
             AdobeCallbackWithOptimizeError<MutableMap<DecisionScope?, OptimizeProposition?>?> {
             override fun fail(optimizeError: AEPOptimizeError?) {
                val responseError = optimizeError
                Log.i("MobileSDK", "updatePropositionsOD error: ${responseError}")
             }
             override fun call(propositionsMap: MutableMap<DecisionScope?, OptimizeProposition?>?) {
                val responseMap = propositionsMap
                Log.i("MobileSDK", "updatePropositionsOD call: ${responseMap}")
             }
       })
    }
    

    Diese Funktion:

    • richtet eine XDM-xdmData ein, die die ECID enthält, um das Profil zu identifizieren, für das Sie Angebote unterbreiten müssen.

    • definiert decisionScope, ein Objekt, das auf der von Ihnen in der Benutzeroberfläche von Journey Optimizer - Entscheidungs-Management definierten Entscheidung basiert und mithilfe des kopierten Entscheidungsumfangs aus Entscheidung erstellen“ definiert. Die Luma-App verwendet eine Konfigurationsdatei (decisions.json), die die Bereichsparameter basierend auf dem folgenden JSON-Format abruft:

      code language-json
      "scopes": [
          {
              "name": "name of the scope",
              "activityId": "xcore:offer-activity:xxxxxxxxxxxxxxx",
              "placementId": "xcore:offer-placement:xxxxxxxxxxxxxxx",
              "itemCount": 2
          }
      ]
      

      Sie können jedoch jede Art von Implementierung verwenden, um sicherzustellen, dass die Optimieren-APIs die richtigen Parameter (activityId, placementId und itemCount) erhalten, um ein gültiges DecisionScope für Ihre Implementierung zu erstellen.
      Zu Ihrer Information: Die anderen Schlüsselwerte in der decisions.json-Datei sind für die zukünftige Verwendung vorgesehen und sind nicht relevant und werden derzeit in dieser Lektion und als Teil des Tutorials verwendet.

    • ruft zwei APIs auf: Optimize.clearCachePropositions und Optimize.updatePropositions. Diese Funktionen löschen alle zwischengespeicherten Vorschläge und aktualisieren die Vorschläge für dieses Profil.

  7. Android Navigieren Sie im Xcode-Projekt Navigator zu {}ChevronDown > > app > kotlin+java > com.adobe.luma.tutorial.android views > EdgeOffers.. Suchen Sie die Funktion suspend fun onPropositionsUpdateOD(ecid: String, activityId: String, placementId: String, itemCount: Int) und überprüfen Sie den Code dieser Funktion. Der wichtigste Teil dieser Funktion ist der Optimize.onPropositionsUpdate-API-Aufruf, der

    • ruft die Vorschläge für das aktuelle Profil basierend auf dem Entscheidungsumfang ab (den Sie unter Journey Optimizer - Entscheidungs-Management definiert haben),
    • das Angebot aus dem Vorschlag abruft,
    • den Inhalt des Angebots entpackt, damit es ordnungsgemäß in der App angezeigt werden kann, und
    • Gibt die Angebote zurück.
  8. Fügen Sie noch in EdgeOffers.kt die Funktion LaunchedEffect hinzu, um sicherzustellen, dass Angebote beim Starten der Registerkarte Personalization aktualisiert werden.

    code language-kotlin
    // recompose the view when the number of received offers changes
    LaunchedEffect(offersOD.count()) {
        updatePropositionsOD(
            currentEcid,
            decision.activityId,
            decision.placementId,
            decision.itemCount
        )
        offersOD =
            onPropositionsUpdateOD(decision.activityId, decision.placementId, decision.itemCount)
    }
    

Validieren mit der App

iOS
  1. Erstellen Sie die App neu und führen Sie sie im Simulator oder auf einem physischen Gerät aus Xcode mithilfe von Play aus.

  2. Navigieren Sie zur Registerkarte Personalization.

  3. Scrollen Sie nach oben, und Sie sehen zwei zufällige Angebote aus der Sammlung, die Sie in der Kachel DECISION LUMA - MOBILE APP DECISION definiert haben.

    {width="300"}

    Die Angebote sind zufällig, da Sie allen Angeboten dieselbe Priorität eingeräumt haben und die Rangfolge für die Entscheidung auf der Priorität basiert.

Android
  1. Erstellen Sie die App neu und führen Sie sie im Simulator oder auf einem physischen Gerät aus Android Studio mithilfe von Play aus.

  2. Navigieren Sie zur Registerkarte Personalization.

  3. Scrollen Sie nach oben, und Sie sehen zwei zufällige Angebote im oberen Feld aus der Sammlung, die Sie in der DECISION LUMA - MOBILE APP DECISION-Kachel definiert haben.

    {width="300"}

    Die Angebote sind zufällig, da Sie allen Angeboten dieselbe Priorität eingeräumt haben und die Rangfolge für die Entscheidung auf der Priorität basiert.

Implementierung in Assurance validieren

So validieren Sie die Angebotsimplementierung in Assurance:

  1. Lesen Sie den Abschnitt Setup-Anweisungen, um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.

  2. Wählen Sie Konfigurieren in der linken Leiste und wählen Sie Hinzufügen neben Überprüfen und Simulieren unter ADOBE JOURNEY OPTIMIZER DECISIONING.

  3. Wählen Sie Speichern aus.

  4. Wählen Überprüfen und) in der linken Leiste aus. Sowohl die Datenstromeinrichtung als auch die SDK-Einrichtung in Ihrer Anwendung werden validiert.

  5. Wählen Anfragen in der oberen Leiste aus. Sie sehen Ihre Angebote Anfragen.
    AJO Decisioning-Validierung {modal="regular"}

  6. Sie können die Registerkarten Simulieren und Ereignisliste für weitere Funktionen durchsuchen und Ihre Einrichtung von Journey Optimizer Entscheidungs-Management überprüfen.

Nächste Schritte

Sie sollten jetzt über alle Tools verfügen, um Ihrer Implementierung von Journey Optimizer - Entscheidungs-Management mehr Funktionen hinzuzufügen. Beispiel:

  • Anwenden verschiedener Parameter auf Ihre Angebote (z. B. Priorität, Begrenzung)
  • Erfassen Sie Profilattribute in der App (siehe Profile) und verwenden Sie diese Profilattribute, um Zielgruppen zu erstellen. Verwenden Sie diese Zielgruppen dann als Teil der Eignungsregeln in Ihrer Entscheidung.
  • mehr als einen Entscheidungsumfang kombinieren.
SUCCESS
Sie haben die App aktiviert, um Angebote mithilfe der Offer Decisioning- und Target-Erweiterung für Experience Platform Mobile SDK anzuzeigen.
Vielen Dank, dass Sie sich Zeit genommen haben, um mehr über Adobe Experience Platform Mobile SDK zu erfahren. Wenn Sie Fragen haben, allgemeines Feedback geben möchten oder Vorschläge für zukünftige Inhalte haben, teilen Sie diese auf diesem Experience League Community-Diskussionsbeitrag.

Weiter: Durchführen von A/B-Tests

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