Creare e visualizzare le offerte con Gestione delle decisioni

Scopri come mostrare le offerte da Journey Optimizer Decision Management nelle app mobili con l’SDK di Experience Platform Mobile.

Journey Optimizer Decision Management consente di offrire ai clienti l’offerta e l’esperienza migliore al momento giusto, in tutti i punti di contatto. Una volta progettate, puoi indirizzarle al tuo pubblico con offerte personalizzate.

Architettura

La gestione delle decisioni semplifica la personalizzazione con una libreria centrale di offerte di marketing e un motore decisionale che applica regole e vincoli ai profili avanzati e in tempo reale creati da Adobe Experience Platform. Di conseguenza, ti consente di inviare ai clienti l’offerta giusta al momento giusto. Per ulteriori informazioni, vedere Informazioni sulla gestione delle decisioni.

NOTE
Questa lezione è facoltativa e si applica solo agli utenti di Journey Optimizer che desiderano utilizzare la funzionalità di gestione delle decisioni per visualizzare le offerte in un’app mobile.

Prerequisiti

  • L'app con gli SDK installati e configurati è stata creata ed eseguita correttamente.
  • Configura l’app per Adobe Experience Platform.
  • Accedi a Journey Optimizer - Gestione delle decisioni con le autorizzazioni appropriate per gestire offerte e decisioni come descritto qui.

Obiettivi di apprendimento

In questa lezione, potrai

  • Aggiorna la configurazione di Edge per la gestione delle decisioni.
  • Aggiorna la proprietà tag con l’estensione Journey Optimizer - Decisioning.
  • Aggiorna lo schema per acquisire gli eventi della proposta.
  • Convalidare l'impostazione in Assurance.
  • Creare una decisione di offerta, basata sulle offerte disponibili in Journey Optimizer - Gestione delle decisioni.
  • Aggiorna l'app per registrare l'estensione Optimizer.
  • Implementa nell’app le offerte di Gestione delle decisioni.

Configurazione

TIP
Se l'ambiente è già stato configurato nell'ambito della lezione Configura test A/B con Target, è possibile che siano già stati eseguiti alcuni passaggi in questa sezione di configurazione.

Aggiorna configurazione dello stream di dati

Per garantire che i dati inviati dall’app mobile all’Edge Network della piattaforma vengano inoltrati a Journey Optimizer - Gestione delle decisioni, aggiorna lo stream di dati.

  1. Nell'interfaccia utente di Data Collection, seleziona Datastreams e quindi il tuo datastream, ad esempio Luma Mobile App.

  2. Seleziona Altro per Experience Platform e seleziona Modifica Modifica dal menu di scelta rapida.

  3. Nella schermata Datastreams > Folder > Adobe Experience Platform, assicurati che siano selezionati Offer Decisioning, Edge Segmentation e Adobe Journey Optimizer. Se vuoi seguire la lezione di Target, seleziona anche Destinazioni Personalization. Per ulteriori informazioni, vedere Impostazioni di Adobe Experience Platform.

  4. Per salvare la configurazione dello stream di dati, seleziona Salva.

    Configurazione dello stream di dati AEP

Installare Journey Optimizer - Estensione tag Decisioning

  1. Passa a Tag, individua la proprietà del tag mobile e apri la proprietà.

  2. Seleziona Estensioni.

  3. Seleziona Catalogo.

  4. Cerca l'estensione Adobe Journey Optimizer - Decisioning.

  5. Installa l’estensione. L'estensione non richiede una configurazione aggiuntiva.

    Aggiungi estensione Decisioning

Aggiornare lo schema

  1. Passa all'interfaccia di Data Collection e seleziona Schemi dalla barra a sinistra.
  2. Seleziona Sfoglia dalla barra superiore.
  3. Seleziona lo schema per aprirlo.
  4. Nell'editor schema, selezionare Aggiungi Aggiungi accanto a Gruppi di campi.
  5. Nella finestra di dialogo Aggiungi gruppi di campi, Cerca cerca proposition, seleziona Evento esperienza - Interazioni proposte e seleziona Aggiungi gruppi di campi. Questo gruppo di campi raccoglie i dati dell’evento esperienza rilevanti per le offerte: quale offerta viene presentata, come parte di quale raccolta, decisione e altri parametri (vedi più avanti in questa lezione). Ma anche cosa sta succedendo con l'offerta? È visualizzato, interagisce con, ignorato e così via?
    Proposta
  6. Seleziona Salva per salvare le modifiche apportate allo schema.

Convalida impostazione in Assurance

Per convalidare la configurazione in Assurance:

  1. Passa all’interfaccia utente Assurance.
  2. Seleziona Configura nella barra a sinistra e seleziona Aggiungi accanto a Convalida installazione sotto ADOBE JOURNEY OPTIMIZER DECISIONING.
  3. Seleziona Salva.
  4. Seleziona Convalida installazione nella barra a sinistra. Vengono convalidate sia la configurazione dello stream di dati che la configurazione dell’SDK nell’applicazione.
    Convalida di AJO Decisioning

Crea posizionamento

Prima di poter creare le offerte, è necessario definire come e dove posizionarle nell’app mobile. In Gestione delle decisioni, definisci i posizionamenti a questo scopo e definirai un posizionamento per il canale mobile che supporta un payload JSON:

  1. Nell'interfaccia utente di Journey Optimizer, seleziona Componenti Componenti da GESTIONE DECISIONI nella barra a sinistra.

  2. Seleziona Posizionamenti dalla barra superiore.

  3. Se non è presente alcun posizionamento con nome JSON per dispositivi mobili come ​​ Tipo di canale ​​ e ​​ JSON ​​ come ​​ Tipo di contenuto ​​ , è necessario creare un posizionamento. In caso contrario, continuare a Creare le offerte.

Per creare il posizionamento JSON per dispositivi mobili:

  1. Seleziona Aggiungi Crea posizionamento.

    1. nella sezione Dettagli, immetti Mobile JSON come Nome, seleziona Mobile da Tipo di canale e JSON da Tipo di contenuto.
    2. Seleziona Salva per salvare il posizionamento.

    Crea posizionamento

Crea offerte

  1. Nell'interfaccia utente di Journey Optimizer, seleziona Offerte Offerte da GESTIONE DELLE DECISIONI nella barra a sinistra.

  2. Nella schermata Offerte, seleziona Sfoglia per visualizzare l'elenco delle offerte.

  3. Seleziona Crea offerta.

  4. Nella finestra di dialogo Nuova offerta, seleziona Offerta personalizzata e fai clic su Successiva.

  5. Nel passaggio Dettagli di Crea una nuova offerta personalizzata:

    1. Immetti un Nome per l'offerta, ad esempio Luma - Juno Jacket, e una Data e ora di inizio e una Data e ora di fine. Al di fuori di queste date, l’offerta non verrà selezionata dal motore delle decisioni.

    2. Seleziona Avanti.

      Offerte - Dettagli

  6. Nel passaggio Aggiungi rappresentazioni di Crea una nuova offerta personalizzata:

    1. Seleziona Mobile Mobile dall'elenco Channel e seleziona Mobile JSON dall'elenco Placement.

    2. Seleziona Personalizzato per Contenuto.

    3. Seleziona Aggiungi contenuto. Nella finestra Aggiungi personalizzazione:

      1. Se è disponibile un selettore Mode, assicurati che sia impostato su JSON.

      2. Immetti il seguente 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"
        }
        
      3. Seleziona Salva.

        Offerte - Contenuto personalizzato

    4. Seleziona Avanti.

      Rappresentazioni offerte

  7. Nel passaggio Aggiungi vincoli di Crea una nuova offerta personalizzata:

    1. Imposta Priorità su 10.

    2. Disattiva Includi limite.

    3. Seleziona Avanti.

      Offerte - Vincoli

  8. Nel passaggio Rivedi di Crea nuova offerta personalizzata:

    1. Rivedi l'offerta, quindi seleziona Fine.
    2. Nella finestra di dialogo Salva offerta, seleziona Salva e approva.
  9. Ripeti i passaggi da 3 a 8 per creare altre quattro offerte con nomi e contenuti diversi. Tutti gli altri valori di configurazione, ad esempio Data e ora di inizio o Priorità, sono simili alla prima offerta creata. Puoi creare rapidamente offerte duplicate e modificarle.

    1. Nell'interfaccia utente di Journey Optimizer, seleziona Offerte Offerte dalla barra a sinistra, quindi seleziona Offerte dalla barra superiore.

    2. Seleziona la riga dell’offerta creata.

    3. Nel riquadro di destra, selezionare Altre Altre azioni e dal menu di scelta rapida selezionare Duplica Duplica.

      Utilizza la tabella seguente per definire le altre quattro offerte.

      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-fixed
      Offer name (Nome offerta) Contenuto dell’offerta in JSON
      Luma - Afferma bottiglia d’acqua { "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 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 - Giubbotto Adrienne Trek { "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" }
  10. Come passaggio finale, devi creare un’offerta di fallback, ovvero un’offerta inviata ai clienti che non sono idonei per altre offerte.

    1. Seleziona Crea offerta.

    2. Nella finestra di dialogo Nuova offerta, seleziona Offerta personalizzata e Successiva.

    3. Nel passaggio Dettagli di Crea nuova offerta di fallback, immetti un Nome per l'offerta, ad esempio Luma - Fallback Offer, e seleziona Successivo.

    4. Nel passaggio Aggiungi rappresentazioni di Crea nuova offerta di fallback:

      1. Seleziona Mobile Mobile dall'elenco Channel e seleziona Mobile JSON dall'elenco Placement.

      2. Seleziona Personalizzato per Contenuto.

      3. Seleziona Aggiungi contenuto.

      4. Nella finestra di dialogo Aggiungi personalizzazione, immetti il seguente JSON e seleziona Salva:

        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. Seleziona Avanti.

  11. Nel passaggio Rivedi di Crea nuova offerta di fallback:

    1. Rivedi l'offerta, quindi seleziona Fine.
    2. Nella finestra di dialogo Salva offerta, seleziona Salva e approva.

Ora dovresti disporre del seguente elenco di offerte:
Elenco offerte

Creare una raccolta

Per presentare un’offerta all’utente dell’app mobile, devi definire una raccolta di offerte, composta da una o più offerte create.

  1. Nell'interfaccia utente di Journey Optimizer, seleziona Offerte dalla barra a sinistra.

  2. Seleziona Raccolte dalla barra superiore.

  3. Selezionare Aggiungi Crea raccolta.

  4. Nella finestra di dialogo Nuova raccolta, immetti un Nome per la raccolta, ad esempio Luma - Mobile App Collection, seleziona Crea raccolta statica e fai clic su Avanti.

  5. In Luma - Mobile App Collection, selezionare le offerte da includere nella raccolta. Per questa esercitazione, scegli le cinque offerte create. È possibile filtrare facilmente l'elenco utilizzando il campo di ricerca, ad esempio digitando Luma.

  6. Seleziona Salva.

    Offerte - Raccolta

Creare una decisione

Il passaggio finale consiste nel definire una decisione, ovvero la combinazione di uno o più ambiti decisionali e dell’offerta di fallback.

Un ambito decisionale è una combinazione di un posizionamento specifico (ad esempio HTML in un’e-mail o JSON in un’app mobile) e uno o più criteri di valutazione.

Un criterio di valutazione è la combinazione di

  • una raccolta di offerte,
  • regole di idoneità: ad esempio, l’offerta è disponibile solo per un pubblico specifico,
  • un metodo di classificazione: quando sono disponibili più offerte tra cui scegliere, quale metodo utilizzare per classificarle (ad esempio in base alla priorità dell’offerta, utilizzando una formula o un modello di IA).

Consulta Passaggi chiave per creare e gestire le offerte per comprendere meglio come posizionamenti, regole, classificazioni, offerte, rappresentazioni, raccolte, decisioni e così via interagiscono e si relazionano tra loro. Questa lezione si concentra esclusivamente sull'utilizzo dei risultati di una decisione piuttosto che sulla flessibilità nella definizione delle decisioni all'interno di Journey Optimizer - Gestione delle decisioni.

  1. Nell'interfaccia utente di Journey Optimizer, seleziona Offerte dalla barra a sinistra.

  2. Seleziona Decisioni dalla barra superiore.

  3. Seleziona Aggiungi Crea decisione.

  4. Nel passaggio Dettagli di Crea una nuova decisione di offerta:

    1. Immettere un Nome per la decisione, ad esempio Luma - Mobile App Decision, immettere Data e ora di inizio e Data e ora di fine.
    2. Seleziona Avanti.
  5. Nel passaggio Aggiungi ambiti decisionali di Crea una nuova decisione di offerta:

    1. Seleziona JSON mobile dall'elenco Posizionamento.

    2. Nel riquadro Criteri di valutazione, selezionare Aggiungi Aggiungi.

      1. Nella finestra di dialogo Aggiungi raccolta di offerte, seleziona la raccolta di offerte. Ad esempio, Luma - Mobile App Collection.

      2. Seleziona Aggiungi.

        Decisione - Seleziona raccolta

    3. Assicurati che None sia selezionato per Eligibility e che Offer priority sia selezionato come metodo di classificazione.

    4. Seleziona Avanti.

      Ambiti decisionali .

  6. Nel passaggio Aggiungi offerta di fallback di Crea una nuova decisione di offerta:

    1. Selezionare l'offerta di fallback, ad esempio Luma - Fallback offer.
    2. Seleziona Avanti.
  7. Nel passaggio Riepilogo di Crea una nuova decisione di offerta:

    1. Seleziona Fine.
    2. Nella finestra di dialogo Salva decisione offerta, seleziona Salva e attiva.
    3. Nella scheda Decisioni, visualizzi la tua decisione con stato Live.

La decisione sull’offerta, composta da una serie di offerte, è ora pronta per l’uso. Per utilizzare la decisione nell'app, nel codice devi fare riferimento all'ambito della decisione.

  1. Nell'interfaccia utente di Journey Optimizer, seleziona Offerte.

  2. Seleziona Decisioni dalla barra superiore.

  3. Selezionare la decisione, ad esempio Luma - Mobile App Decision.

  4. Nel riquadro Ambiti decisione, selezionare Copia Copia.

  5. Dal menu contestuale, selezionare Ambito decisione.
    Copia ambito decisione

  6. Utilizza un qualsiasi editor di testo per incollare l’ambito decisionale per un utilizzo successivo. L’ambito della decisione ha il seguente formato JSON.

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

Implementare le offerte nell’app

Come descritto nelle lezioni precedenti, l’installazione di un’estensione tag per dispositivi mobili fornisce solo la configurazione. Ora devi installare e registrare l’SDK di ottimizzazione. Se questi passaggi non sono chiari, controlla la sezione Installare gli SDK.

NOTE
Se hai completato la sezione Installare gli SDK, l'SDK è già installato e puoi saltare questo passaggio.
  1. In Xcode, accertati che AEP Optimize sia aggiunto all'elenco dei pacchetti nelle dipendenze dei pacchetti. Consulta Gestione pacchetti Swift.

  2. Passa a Luma > Luma > AppDelegate nel Navigatore progetti Xcode.

  3. Assicurarsi che AEPOptimize faccia parte dell'elenco delle importazioni.

    code language-swift
    import AEPOptimize
    
  4. Assicurarsi che Optimize.self faccia parte dell'array di estensioni che si sta registrando.

    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. Passa a Luma > Luma > Model > Data > decisioni nel Navigator dei progetti Xcode. Aggiorna i valori activityId e placementId con i dettagli dell'ambito di decisione copiati dall'interfaccia di Journey Optimizer.

  6. Passa a Luma > Luma > Utils > MobileSDK nel Navigatore progetti Xcode. Trovare la funzione func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async. Aggiungi il seguente codice:

    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)
    }
    

    Questa funzione:

    • configura un dizionario XDM xdmData contenente l'ECID per identificare il profilo per il quale si devono presentare le offerte.

    • definisce decisionScope, un oggetto basato sulla decisione definita nell'interfaccia Journey Optimizer - Gestione decisioni e definito utilizzando l'ambito di decisione copiato da Crea una decisione. L'app Luma utilizza un file di configurazione (decisions.json) che recupera i parametri di ambito in base al seguente formato JSON:

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

      È tuttavia possibile utilizzare qualsiasi tipo di implementazione per assicurarsi che le API di ottimizzazione ottengano i parametri corretti (activityId, placementId e itemCount) per creare un oggetto DecisionScope valido per l'implementazione.
      Per informazioni: gli altri valori chiave nel file decisions.json sono per uso futuro e non rilevanti e sono attualmente utilizzati in questa lezione e come parte dell'esercitazione.

    • chiama due API: Optimize.clearCachePropositions e Optimize.updatePropositions. Queste funzioni cancellano tutte le proposte memorizzate nella cache e aggiornano le proposte per questo profilo.

  7. Passa a Luma > Luma > Views > Personalization > EdgeOffersView nel navigatore progetti Xcode. Trovare la funzione func onPropositionsUpdateOD(activityId: String, placementId: String, itemCount: Int) async ed esaminare il codice di questa funzione. La parte più importante di questa funzione è la chiamata API Optimize.onPropositionsUpdate, che

    • recupera le proposte per il profilo corrente in base all’ambito della decisione (definito in Journey Optimizer - Gestione delle decisioni),
    • recupera l’offerta dalla proposta,
    • decomprime il contenuto dell’offerta in modo che possa essere visualizzato correttamente nell’app; e
    • attiva l'azione displayed() sull'offerta che invia nuovamente un evento all'Edge Network informando che l'offerta è visualizzata.
  8. Sempre in EdgeOffersView, aggiungi il seguente codice al modificatore .onFirstAppear. Questo codice assicura che il callback per l’aggiornamento delle offerte venga registrato una sola volta.

    code language-swift
    // Invoke callback for offer updates
    Task {
        await self.onPropositionsUpdateOD(activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
    }
    
  9. Sempre in EdgeOffersView, aggiungere il codice seguente al modificatore .task. Questo codice aggiorna le offerte quando la vista viene aggiornata.

    code language-swift
    // Clear and update offers
    await self.updatePropositionsOD(ecid: currentEcid, activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
    

Convalida tramite l’app

  1. Rigenera ed esegui l'app nel simulatore o su un dispositivo fisico da Xcode, utilizzando Play .

  2. Passa alla scheda Personalisation.

  3. Seleziona Edge Personalisation.

  4. Scorri verso l'alto per visualizzare due offerte casuali dalla raccolta definita nella sezione DECISION LUMA - MOBILE APP DECISION.

    {width="300"}

    Le offerte sono casuali, in quanto hai assegnato a tutte la stessa priorità e la classificazione per la decisione si basa sulla priorità.

Convalida implementazione in Assurance

Per convalidare l’implementazione delle offerte in Assurance:

  1. Consulta la sezione istruzioni di installazione per collegare il simulatore o il dispositivo ad Assurance.

  2. Seleziona Configura nella barra a sinistra e seleziona Aggiungi accanto a Rivedi e simula sotto ADOBE JOURNEY OPTIMIZER DECISIONING.

  3. Seleziona Salva.

  4. Seleziona Rivedi e simula nella barra a sinistra. La configurazione di entrambi gli stream di dati viene convalidata e la configurazione dell’SDK nell’applicazione.

  5. Seleziona Richieste nella barra superiore. Sono visualizzate le Offerte richieste.
    Convalida di AJO Decisioning

  6. Puoi esplorare le schede Simula e Elenco eventi per ulteriori funzionalità, controllando la configurazione di Journey Optimizer Decision Management.

Passaggi successivi

Ora dovresti disporre di tutti gli strumenti necessari per iniziare ad aggiungere ulteriori funzionalità all’implementazione di Journey Optimizer - Gestione delle decisioni. Ad esempio:

  • applica parametri diversi alle offerte (ad esempio, priorità, limite).
  • raccogli gli attributi del profilo nell'app (vedi Profilo) e utilizza questi attributi per creare tipi di pubblico. Quindi utilizza questi tipi di pubblico come parte delle regole di idoneità nella tua decisione.
  • combinare più ambiti decisionali.
SUCCESS
Hai abilitato l’app per la visualizzazione delle offerte tramite l’estensione Journey Optimizer - Decisioning per l’SDK di Experience Platform Mobile.
Grazie per aver dedicato il tuo tempo all’apprendimento dell’SDK di Adobe Experience Platform Mobile. Se hai domande, vuoi condividere commenti generali o suggerimenti su contenuti futuri, condividili in questo Experience League post di discussione della community.

Successivo: Eseguire test A/B

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