Creare e visualizzare le offerte con Decisioning

Scopri come mostrare le offerte da Journey Optimizer Decisioning nelle app mobili con Experience Platform Mobile SDK.

Journey Optimizer Decisioning è la nuova generazione di gestione delle offerte e subentra a Gestione delle decisioni. La funzione Decisioning ti consente di fornire offerte di marketing personalizzate combinando un catalogo centralizzato di elementi decisionali con un potente motore decisionale. Dalla personalizzazione dei contenuti per singoli tipi di pubblico all’ottimizzazione delle strategie con classificazioni basate sull’IA, le decisioni forniscono gli strumenti necessari per prendere decisioni basate sui dati su larga scala. Approfondisci i concetti chiave, come elementi decisionali, regole e criteri, ed esplora come utilizzare insieme questi elementi per selezionare e prioritizzare i contenuti migliori per le campagne. Dalla gestione delle raccolte e dei posizionamenti fino all’utilizzo dei dati di Adobe Experience Platform, questa guida completa ti aiuta a personalizzare in modo più intelligente e a promuovere esperienze cliente d’impatto.

Architettura {modal="regular"}

La funzione Decisioni semplifica la personalizzazione proponendo un catalogo centralizzato di offerte di marketing note come “elementi decisionali” e un motore decisionale sofisticato. Questo motore sfrutta le regole e i criteri di classificazione per selezionare e presentare a ogni singolo utente gli elementi decisionali più rilevanti. Questi elementi decisionali vengono integrati perfettamente nei messaggi e nelle esperienze tra i canali di Adobe Journey Optimizer: esperienza basata su codice, e-mail, SMS, notifiche push e altro ancora.

In questa lezione, l’attenzione è posta sull’utilizzo del canale di esperienza basato su codice per distribuire le offerte nell’app mobile. E non su come spiegare in profondità tutte le funzionalità della soluzione Decisioning. Per ulteriori informazioni, consulta la documentazione di Decisioning.

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

Prerequisiti

Obiettivi di apprendimento

In questa lezione, potrai

  • Aggiorna la configurazione di Edge per Decisioning.
  • Crea uno schema per rappresentare le offerte.
  • Convalida la configurazione in Assurance.
  • Configura una configurazione del canale esperienza basata su codice.
  • Crea una campagna di esperienza basata su codice, basata sulle offerte di Journey Optimizer - Decisioning.
  • Implementa le offerte da Decisioning nell’app.

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 fare in modo che i dati inviati dalla tua app mobile a Platform Edge Network vengano inoltrati a Journey Optimizer - Decisioning, 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 Offer Decisioning, Edge Segmentation e Adobe Journey Optimizer siano abilitati.

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

    Configurazione dello stream di dati di AEP {modal="regular"}

Definire lo schema

  1. Passa all’interfaccia di Data Collection e seleziona Schemi dalla barra a sinistra.

  2. Seleziona Sfoglia dalla barra superiore.

  3. Apri lo schema Elementi di offerta personalizzati - Experience Decisioning. Questo schema è lo schema dedicato per configurare gli elementi dell’offerta, i loro attributi e metadati.

  4. Aggiungi allo schema ulteriori gruppi di campi che rappresentano il modo in cui desideri utilizzare le offerte in Decisioning. Consulta Creare uno schema per informazioni su come creare gli schemi. Per questa lezione, due gruppi di campi vengono creati come parte della configurazione sandbox _techmarketingdemos: Offerta e Metadati offerta. Di seguito è riportata la struttura completa dello schema.

    • Tutti i campi mediaAssets, come image o imageLowRes, sono di tipo DesignAssets e dispongono automaticamente di destinationURL, edgePath, repository, sourceURL, trackedURL e type campi stringa.
    • Tutti gli altri campi sono di tipo Oggetto (ad esempio offerMetadata) o Stringa (ad esempio fullDescription).

    Decisioning esperienza schema {modal="regular"}

    Puoi definire lo schema Elementi di offerta personalizzati - Experience Decisioning in qualsiasi modo. La struttura precedente è solo un esempio utilizzato per il resto di questa lezione.

  5. Accertati di selezionare Salva per salvare eventuali modifiche apportate allo schema Elementi offerta personalizzati - Experience Decisioning.

Installare l’estensione dei tag di Journey Optimizer

Affinché l’app funzioni con Journey Optimizer, devi aggiornare la proprietà del tag.

  1. Passa a Tag > Estensioni > Catalogo.
  2. Apri la proprietà, ad esempio Luma Mobile App Tutorial.
  3. Seleziona Catalogo.
  4. Cerca l’estensione Adobe Journey Optimizer.
  5. Installa l’estensione.

Quando solo utilizza offerte basate su Decisioning nell’app, in Installa estensione o Configura estensione, non è necessario configurare nulla. Se hai già seguito la lezione Notifiche push nell’esercitazione, noterai che per l’ambiente Sviluppo, il set di dati AJO Push Tracking Experience Event è selezionato dall’elenco Set di dati evento.

Implementare Journey Optimizer nell’app

Come descritto nelle lezioni precedenti, l’installazione di un’estensione tag per dispositivi mobili fornisce solo la configurazione. A questo punto è necessario installare e registrare il SDK di messaggistica. Se questi passaggi non sono chiari, controlla la sezione Installare gli SDK.

NOTE
Se hai completato la sezione Installare gli SDK, SDK è già installato e puoi saltare questo passaggio.
iOS
  1. In Xcode, accertati che Messaggistica AEP 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 AEPMessaging faccia parte dell’elenco delle importazioni.

    import AEPMessaging

  4. Assicurarsi che Messaging.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
    ]
    
Android
  1. In Android Studio, assicurati che aepsdk-messaging-android faccia parte delle dipendenze in build.gradle.kts in Android ChevronDown > Gradle Scripts. Vedi Gradle.

  2. Passa a Android ChevronDown app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication nel Navigatore progetti di Android Studio.

  3. Assicurarsi che com.adobe.marketing.mobile.Messaging faccia parte dell’elenco delle importazioni.

    import import com.adobe.marketing.mobile.Messaging

  4. Assicurarsi che Messaging.EXTENSION faccia parte dell’array di estensioni che si sta registrando.

    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
    )
    

Convalidare la configurazione in Assurance

Non è necessario convalidare la configurazione per Decisioning in Assurance. Decisioning non utilizza un’estensione tag specifica per Experience Platform Data Collection e Decisioning non richiede un pacchetto aggiuntivo per l’app. Decisioning si basa sull’estensione Messaging nell’app, che avresti già dovuto aggiungere come parte delle lezioni Installare gli SDK di Adobe Experience Platform Mobile e Creare e inviare messaggi in-app in questa esercitazione.

Creare una configurazione del canale esperienza basata su codice

Per visualizzare le offerte nelle schermate dell’app, devi configurare un canale di esperienza basato su codice dedicato. Questo canale di esperienza basato su codice definisce la superficie (la posizione) nell’app in cui visualizzi le offerte.

Creare un canale di esperienza basato su codice

  1. Nell’interfaccia utente di Journey Optimizer, seleziona Canale Canali da Amministrazione nella barra a sinistra.

  2. Seleziona Configurazioni canale da Impostazioni generali.

  3. Seleziona Crea configurazione canale.

  4. In Dettagli configurazione canale:

    Dettagli configurazione canale

    1. Immetti un Nome. Ad esempio: LumaMobileAppCodeBased.

    2. Immetti una Descrizione. Ad esempio: Code-based experience for Luma app used in Mobile SDK tutorial.

    3. Seleziona Esperienza basata su codice dal menu a discesa Seleziona canale.

    4. Selezionare una o più azioni di marketing da Selezionare una o più azioni di marketing. Ad esempio Personalization in loco.

    5. Seleziona le piattaforme per le quali desideri configurare l’esperienza basata su codice. Per questo tutorial, seleziona iOS o Android o entrambi.

      • Per iOS:

        1. Immetti di selezionare ID app. Ad esempio, l’identificatore dell’app: com.adobe.luma.tutorial.swiftui.
        2. Immetti di selezionare un percorso per Posizione o percorso all’interno dell’app. Ad esempio: offersLocation.
        3. Immetti un URL di anteprima. Ad esempio: lumatutorialswiftui://.
      • Per Android:

        1. Immetti di selezionare ID app. Ad esempio, l’identificatore dell’app: com.adobe.luma.tutorial.android.
        2. Immetti di selezionare un percorso per Posizione o percorso all’interno dell’app. Ad esempio: offersLocation.
        3. Immetti un URL di anteprima. Ad esempio: lumatutorialandroid://default.
      • Contenuto

        • Seleziona JSON per il Formato.
  5. Seleziona Invia per inviare la tua esperienza basata su codice.

Crea offerte

In questa sezione vengono create le offerte per Decisioning.

  1. Nell’interfaccia utente di Journey Optimizer, seleziona Elementi decisione Cataloghi da Decisioning nella barra a sinistra.

  2. Seleziona Offerte da Cataloghi per visualizzare l’elenco delle Offerte.

  3. Selezionare Crea elemento.

    1. Nel passaggio ➊ Attributi della creazione di un’offerta (elemento di decisione):

      Attributi per un'offerta in Decisioning {modal="regular"}

      1. Nella sezione Attributi standard:

        1. Immetti un nome offerta. Ad esempio: Luma - Desiree Fitness Tee.
        2. Immetti una Data inizio o selezionane una utilizzando Calendario . Ad esempio: 7/1/2026, 12:00 AM.
        3. Immetti una data di fine o selezionane una utilizzando Calendario . Ad esempio: 12/31/2026, 12:00 AM.
        4. Immetti una Priorità. Ad esempio: 10.
        5. Seleziona uno o più tag appropriati dal menu a discesa Tag. Ad esempio: Luma - App mobile.
      2. Nella sezione Attributi personalizzati, immetti i valori per il contenuto e i metadati dell’offerta. I dati che puoi immettere e le modalità di immissione dipendono interamente da come hai definito lo schema per le offerte. In questo tutorial, vuoi fornire un titolo, un testo e un’immagine per ogni offerta.

        1. Nel contenitore Offerta, all’interno del contenitore Media Assets:

          1. Seleziona Aggiungi dall’URL per Immagine e immetti un valore appropriato per E​Inserisci URL di origine. Ad esempio: https://newluma.enablementadobe.com/images/ws05-yellow_main.jpg.
          2. Selezionare Aggiungi da URL per Immagine (alta risoluzione) e immettere un valore appropriato per Immettere l’URL di origine. Ad esempio: https://newluma.enablementadobe.com/images/ws05-yellow_main.jpg.
        2. Nel contenitore Offerta, all’interno del contenitore Testo:

          1. Immetti un valore per Descrizione completa. Ad esempio: 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.
          2. Immetti un valore per Titolo. Ad esempio: Desiree Fitness Tee.
      3. Seleziona Avanti.

    2. Nel passaggio ➋ Idoneità della creazione di un’offerta (elemento di decisione):

      Crea elemento offerta - Idoneità {modal="regular"}

      1. In Idoneità, assicurati che sia selezionato Tutti i visitatori.
      2. Non è necessario creare un limite nella sezione Limitazione.
      3. Seleziona Avanti.
    3. Nel passaggio di revisione ➌ op la creazione di un’offerta (elemento di decisione):

      Crea elemento offerta - Revisione {modal="regular"}

      1. Rivedi l’offerta. È possibile utilizzare Modifica per modificare Attributi standard, Attributi cliente o Vincoli profilo.
      2. Seleziona Salva.
  4. Ripeti il passaggio 3 (Crea elemento) per le seguenti offerte aggiuntive:

    table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4
    Nome Titolo Descrizione completa Immagine e immagine (alta risoluzione)
    Luma - Affirm Water Bottle Affirm Water Bottle 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. https://newluma.enablementadobe.com/images/ug06-lb-0.jpg
    Luma - Aero Daily Fitness Tee Aero Daily Fitness Tee 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. https://newluma.enablementadobe.com/images/ms01-black_main.jpg
    Luma - Adrienne Trek Jacket Adrienne Trek Jacket 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. https://newluma.enablementadobe.com/images/wj08-gray_main.jpg
    Luma - Juno Jacket Juno Jacket On colder-than-comfortable mornings, you'll love warming up in the Juno All-Ways Performanc 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. https://newluma.enablementadobe.com/images/wj06-purple_main.jpg

    Tutti gli altri valori, come Data inizio, Data fine, Priorità, Limitazione, Idoneità e altri non definiti in modo esplicito nella tabella precedente devono essere gli stessi in tutte le offerte e in base a ciò che hai definito per la prima offerta.

Ora dovresti disporre del seguente elenco di offerte:

Elenco offerte {modal="regular"}

Creare una raccolta

Per presentare un’offerta all’utente dell’app mobile, devi creare una raccolta di offerte, composta da una o più offerte create. Utilizza le regole per selezionare le offerte che appartengono a una raccolta.

  1. Nell’interfaccia utente di Journey Optimizer, seleziona Elementi decisione Cataloghi da Decisioning nella barra a sinistra.

  2. Seleziona Raccolte da Cataloghi per visualizzare l’elenco di Raccolte.

  3. Selezionare Crea raccolta.

  4. Nella sezione Dettagli:

    1. Immetti un Nome per la raccolta. Ad esempio: Luma - Mobile App Collection.
    2. Immetti una Descrizione per la raccolta. Esempio: Collection of Luma mobile app offers.
  5. Nella sezione Regole raccolta, sotto NUMERO DI ELEMENTI:

    1. Seleziona Fai clic per creare un elemento di decisione…

    2. Utilizza Seleziona attributo per selezionare un attributo.

      1. Nella finestra di dialogo Seleziona un attributo, seleziona un attributo decisione. Ad esempio Nome offerta.
      2. Seleziona Salva.
    3. Utilizza il menu a discesa Uguale a per selezionare una condizione. Ad esempio Inizia con.

    4. Nel campo di testo immettere il valore della condizione. Ad esempio: Luma -. Con questo valore verranno selezionate tutte le offerte il cui nome inizia con Luma - come parte della raccolta. Puoi creare qualsiasi tipo di regola e anche combinare le regole, utilizzando AggiungiCerchio Aggiungi regola.

  6. Seleziona Crea per creare la raccolta.

    Offerte - Raccolta {modal="regular"}

Creare una strategia di selezione

Una strategia di selezione è riutilizzabile ed è costituita da una raccolta associata a un vincolo di idoneità e a un metodo di classificazione per determinare le offerte da mostrare quando vengono selezionate in un criterio decisionale. I criteri di decisione sono trattati nella sezione Creare una campagna.

Nella nostra attuazione, la strategia di selezione è mantenuta il più semplice possibile.

  1. Nell’interfaccia utente di Journey Optimizer, seleziona Strategia Configurazione strategia da Decisioning nella barra a sinistra.

  2. Seleziona Strategie di selezione.

  3. Selezionare Crea strategia di selezione. Nella finestra di dialogo Crea strategia di selezione:

    1. Immettere un nome strategia di selezione. Ad esempio: Luma - Mobile App Selection Strategy.

    2. Utilizza Seleziona la raccolta per selezionare la raccolta per la strategia di selezione.

      1. Nella finestra di dialogo Raccolta, seleziona una raccolta. Ad esempio: Luma - Raccolta app mobili.
      2. Seleziona Salva.
    3. Assicurati che Tutti i visitatori sia selezionato per Idoneità.

    4. Verificare che Priorità offerta sia selezionata per Metodo di classificazione.

  4. Seleziona Crea per creare la strategia di selezione.

    Crea strategia di selezione

Creare una campagna

Ora crei una campagna che utilizza sia la raccolta di offerte che il canale di configurazione dell’esperienza basato su codice. Le campagne sono azioni di marketing coordinate che distribuiscono contenuti a un pubblico specifico su uno o più canali.

Come parte della campagna puoi anche creare un criterio di decisione. I criteri di decisione sono contenitori per le offerte che sfruttano il motore di decisione per restituire in modo dinamico il contenuto migliore da consegnare per ogni membro del pubblico. Il loro obiettivo è quello di selezionare le offerte migliori per ciascun profilo, mentre l’authoring della campagna/del percorso ti consente di indicare in che modo devono essere presentati gli elementi decisionali selezionati, compresi gli attributi degli elementi da includere nel messaggio.

  1. Nell’interfaccia utente di Journey Optimizer, seleziona Claxon Campagne da Gestione Percorso nella barra a sinistra.

  2. Seleziona Crea campagna.

  3. Nella finestra di dialogo Crea campagna, seleziona Pianificato - Marketing come tipo di campagna da creare.

  4. Seleziona Conferma.

  5. Nella scheda Proprietà della schermata **Campagna - *timestamp ***:

    1. Immetti un Nome per la campagna. Ad esempio: Luma - Mobile App Offers.
    2. È possibile immettere una Descrizione.
  6. Seleziona Azioni.

    1. Nella sezione Azioni:

      1. Seleziona Aggiungi Aggiungi azione. Dal menu a discesa, seleziona Codice Esperienza basata su codice.
      2. Nella sezione Configurazione esperienza basata su codice, seleziona la configurazione del canale esperienza basata su codice LumaMobileAppCodeBased dal menu a discesa Configurazione del canale esperienza basata su codice.
    2. Lascia invariate tutte le altre impostazioni per Ottimizzazione, Lingue e Gestione dei conflitti.

  7. Seleziona Contenuto.

    1. Nella schermata Esperienza basata su codice, seleziona Modifica Modifica codice.

    2. Nell’esperienza basata su codice | Configurazione canale : schermata LumaMobileAppCodeBased:

      1. Nell’editor, digita il seguente JSON:

        code language-json
        {
           "version": "1.0",
           "offers": [
           ]
        }
        
      2. Seleziona DecisionItemsConfiguration Criterio decisione dalla seconda barra a sinistra.

        1. Selezionare DecisionItemsConfiguration Aggiungi criterio di decisione.

        2. Nella procedura guidata Crea criterio di decisione, nel passaggio ➊ Dettagli:

          1. Immetti un Nome per il criterio di decisione. Ad esempio: Luma - Mobile App Decision Policy.
          2. Selezionare o immettere 2 per Numero di elementi. Questa voce garantisce la restituzione di due offerte.
          3. Seleziona Avanti.
        3. Nella procedura guidata Crea criterio di decisione, nel passaggio ➋ Strategie:

          1. Nella sequenza strategia, seleziona AggiungiCerchio Aggiungi per aggiungere una sequenza strategia.

          2. Dal menu di scelta rapida, selezionare Strategia di selezione.

            1. Nella finestra di dialogo Aggiungi una strategia di selezione, seleziona la strategia di selezione creata in precedenza, Luma - Strategia di selezione app mobile.
            2. Seleziona Salva.
          3. Seleziona Avanti.

        4. Nella procedura guidata Crea criterio di decisione, nel passaggio ➌ Rivedi, controlla il criterio di decisione.

          1. Seleziona Crea per creare il criterio di decisione.
      3. Ora che è disponibile un criterio di decisione, puoi utilizzare la barra Criteri di decisione Luma - App mobile per inserire elementi corretti da tale criterio di decisione nell’editor JSON.

        1. Nell’editor JSON aggiungere una nuova riga tra [ e ].

        2. Dalla barra Luma - Criteri di decisione per l’app mobile:

          1. Seleziona Aggiungi Inserisci criterio per inserire il criterio di decisione come JSON nell’editor.
          2. Posiziona il cursore nell’editor su una riga prima del {{/each}} di chiusura.
          3. Seleziona nome-tenant (ad esempio: _techmarketingdemos) > Offerta > Contenuto testo > Titolo e quindi +. Questo aggiunge il titolo dell’offerta al JSON come elemento title.
          4. Selezionare nome-tenant > Offerta > Contenuto testo > Descrizione completa e quindi +. Aggiunge la descrizione dell’offerta al JSON come elemento text.
          5. Seleziona nome-tenant > Offerta > Risorse multimediali > Immagine > URLOrigine e quindi +. Questo aggiunge l’URL di origine per l’immagine ad alta risoluzione dell’offerta al JSON come elemento image.

          Il JSON finale deve essere simile al seguente, con valori aggiornati per l’identificatore del criterio di decisione e i nomi dei tenant.

          JSON finale per i criteri decisionali

          Assicurati che gli elementi JSON title, text e image siano racchiusi come oggetto, utilizzando { }. Inserimento di , dopo l’oggetto e immediatamente prima di {{/each}} nel JSON.

      4. Utilizza FileCode Convalida per convalidare il JSON.

      5. Seleziona Salva e chiudi.

  8. Seleziona Rivedi da attivare.

  9. La schermata Revisione da attivare (Luma - Offerte app mobili) fornisce una panoramica della campagna.

    Verifica per attivare

  10. Se non vengono visualizzati avvisi o errori, selezionare Attiva per attivare la campagna. Nella finestra di dialogo di conferma, seleziona ancora Attiva.

  11. Nell’elenco delle campagne dovresti vedere la campagna che cambia stato da StatusOrange Activating in StatusOrange Processing in StatusBlue Live.

Ora la tua campagna di esperienza basata su codice è attiva e puoi aggiornare l’app mobile in modo da utilizzare la campagna di esperienza basata su codice per eseguire il rendering delle offerte sulla posizione o sulla superficie definita nella configurazione del canale di esperienza basato su codice.

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 assicurarti che l’estensione Messaging sia configurata per la tua app. Se questi passaggi non sono chiari, controlla la sezione Installare gli SDK.

iOS
  1. In Xcode, accertati che Messaggi AEP 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 AEPMessaging faccia parte dell’elenco delle importazioni.

    code language-swift
    import AEPMessaging
    
  4. Assicurarsi che Messaging.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 > general nel Navigator dei progetti Xcode. Assicurarsi che showDecisioning sia impostato su true e che showPersonalization sia impostato su false nella sezione config.

    code language-json
    ...
    "showPersonalisation": false,
    "showDecisioning": true,
    ...
    

    Queste impostazioni garantiscono che Decisioning venga utilizzato per le offerte nella scheda Personalization dell’app.

  6. Passa a Luma > Luma > Model > Data > general nel Navigator dei progetti Xcode. Assicurati che sia configurata una sezione decisioning con un elemento surface, identificando la posizione o la superficie configurata per il canale di esperienza basato su codice. Ad esempio: offersLocation.

    code language-json
    "decisioning": {
       "surface": "offersLocation"
    },
    
  7. Passa a Luma > Luma > Utils > MobileSDK nel Navigatore progetti Xcode. Trovare la funzione func updatePropositionsForSurface(). Aggiungi il seguente codice:

    code language-swift
    // get the propositions for the surfaces configured.
    Logger.aepMobileSDK.info("MobileSDK - updatePropositionsForSurfaces: Updating \(surfaces.count) surface(s)")
    for surface in surfaces {
       Logger.aepMobileSDK.info("MobileSDK - updatePropositionsForSurfaces: Surface URI: \(surface.uri)")
    }
    
    // Call the Messaging extension API to fetch propositions
    Messaging.updatePropositionsForSurfaces(surfaces)
    
    Logger.aepMobileSDK.info("MobileSDK - updatePropositionsForSurfaces: Update triggered successfully")
    

    Questa funzione:

    • ottiene le proposte per le superfici.

    In questa implementazione, viene configurata e utilizzata una sola superficie. Se desiderate gestire più superfici configurate, il codice richiede aggiornamenti.

  8. Passa a Luma > Luma > Views > Personalization > EdgeDecisioningOffersView nel Navigator dei progetti Xcode. Trovare la funzione func fetchPropositions() async ed esaminare il codice di questa funzione. La parte più importante di questa funzione è la chiamata API Messaging.getPropositionsForSurfaces([surface]) { propositionsDict, error in, che

    • recupera le proposte per il profilo corrente in base alla superficie,
    • recupera l’offerta dalla proposta,
    • annulla il wrapping del contenuto dell’offerta (utilizzando la funzione parseCodeBasedContent) in modo che possa essere visualizzato correttamente nell’app.
  9. Ancora in EdgeDecisioningOffersView, vedi come in .task modificatore:

    1. Le proposte vengono aggiornate utilizzando self.updatePropositionsForSurface().
    2. È stata implementata una breve attesa affinché la rete Edge risponda alle proposte e le memorizzi nella cache.
    3. Le proposte memorizzate nella cache vengono recuperate utilizzando await self.fetchPropositions.
Android
  1. In Android Studio, assicurati che aepsdk-optimize-android faccia parte delle dipendenze in build.gradle.kts (Modulo :app) in Android ChevronDown > Script Gradle. Vedi Gradle.

  2. Passa a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > MainActivity nel navigatore di Android Studio.

  3. Assicurarsi che Optimize faccia parte dell’elenco delle importazioni.

    code language-kotlin
    import com.adobe.marketing.mobile.optimize.Optimize
    
  4. Assicurarsi che Optimize.EXTENSION faccia parte dell’array di estensioni che si sta registrando.

    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. Passa a Android ChevronDown > app > assets > data > general.json nel navigatore progetti. Assicurarsi che showDecisioning sia impostato su true e che showPersonalization sia impostato su false nella sezione config.

    code language-json
    ...
    "showPersonalisation": false,
    "showDecisioning": true,
    ...
    

    Queste impostazioni garantiscono che Decisioning venga utilizzato per le offerte nella scheda Personalization dell’app.

  6. Passa a Android ChevronDown > app > assets > data > general.json nel navigatore progetti. Assicurati che sia configurata una sezione decisioning con un elemento surface, identificando la posizione o la superficie configurata per il canale di esperienza basato su codice. Ad esempio: offersLocation.

    code language-json
    "decisioning": {
       "surface": "offersLocation"
    },
    
  7. Passa a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK nel navigatore di Android Studio. Trovare la funzione suspend fun updatePropositionsForSurfaces(surfaces: List<Surface>). Aggiungi il seguente codice:

    code language-kotlin
    // get the propositions for the surfaces configured
    withContext(Dispatchers.IO) {
       Log.i("MobileSDK", "updatePropositionsForSurfaces: Updating ${surfaces.size} surface(s)")
       surfaces.forEach { surface ->
          Log.i("MobileSDK", "updatePropositionsForSurfaces: Surface URI: ${surface.uri}")
       }
    
       Messaging.updatePropositionsForSurfaces(surfaces)
       Log.i("MobileSDK", "updatePropositionsForSurfaces: Update triggered successfully")
    }
    

    Questa funzione:

    • ottiene le proposte per le superfici.

    In questa implementazione, viene configurata e utilizzata una sola superficie. Se desiderate gestire più superfici configurate, il codice richiede aggiornamenti.

  8. Passa a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > visualizzazioni > EdgeDecisioningOffersView.kt nel Navigatore progetti. Trovare la funzione suspend fun fetchPropositionsForSurface(surface: Surface): DecisioningResult = withContext(Dispatchers.IO) ed esaminare il codice di questa funzione. La parte più importante di questa funzione è la chiamata API Messaging.getPropositionsForSurfaces(listOf(surface)) { propositionsMap -> propositionsMap[surface]?.let { propositions ->, che

    • recupera le proposte per il profilo corrente in base alla superficie,
    • recupera l’offerta dalla proposta,
    • annulla il wrapping del contenuto dell’offerta (utilizzando la funzione parseCodeBasedContent) in modo che possa essere visualizzato correttamente nell’app.
  9. Sempre in EdgeDecisioningOffersView.kt, vedere come nella funzione LaunchedEffect:

    1. Le proposte vengono aggiornate utilizzando MobileSDK.shared.updatePropositionsForSurfaces(listOf(surface)).
    2. È stato implementato un breve ritardo affinché la rete Edge risponda alle proposte e le memorizzi nella cache.
    3. Le proposte memorizzate nella cache vengono recuperate utilizzando fetchPropositionsForSurface(surface).

Convalida tramite l’app

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

  2. Passa alla scheda Personalization.

  3. Scorri verso l’alto per visualizzare due offerte casuali dalla raccolta definita nella sezione Surface Offers Location.

    {width="300"}

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

Android
  1. Rigenera ed esegui l’app nel simulatore o su un dispositivo fisico da Android Studio, utilizzando Play .

  2. Passa alla scheda Personalization.

  3. Scorri verso l’alto per visualizzare due offerte casuali nella casella superiore della raccolta definita nella sezione Surface Offers Location.

    {width="300"}

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

Convalidare l’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 Eventi nella barra a sinistra.

  3. Cerca la risposta delle proposte di messaggi eventi nell’elenco degli eventi.

  4. Nel riquadro di destra, eseguire un evento di questo tipo: ACPExtensionEventData > propositions > 0 > items > 0 > data > content > offers. Sono presenti due offerte 0 e 1 ciascuna con i dati previsti.

    Garanzia delle offerte Decisioning

Passaggi successivi

Ora dovresti disporre di tutti gli strumenti necessari per iniziare ad aggiungere ulteriori funzionalità all’implementazione di Journey Optimizer - Decisioning. 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à nel processo decisionale.
  • combinare più superfici.
SUCCESS
Hai attivato l’app per visualizzare le offerte tramite la decisione.
Grazie per aver dedicato tempo all'apprendimento di Adobe Experience Platform Mobile SDK. Se hai domande, vuoi condividere commenti generali o suggerimenti su contenuti futuri, condividili in questo post di discussione della community Experience League.

Successivo: Eseguire test A/B

recommendation-more-help
platform-learn-help-tutorial-mobile-sdk