Implementazione di un'applicazione a pagina singola

Adobe Experience Platform Web SDK offre funzionalità avanzate che consentono all'azienda di eseguire personalizzazioni su tecnologie lato client di nuova generazione, ad esempio applicazioni a pagina singola (SPA).

I siti web tradizionali utilizzavano modelli di navigazione "da pagina a pagina", detti anche Applicazioni a più pagine. In questi siti web le progettazioni sono strettamente collegate agli URL e lo spostamento tra le pagine richiedeva un caricamento di pagina completo.

Le applicazioni web moderne, come le applicazioni a pagina singola, hanno invece adottato un modello che attiva rapidamente il rendering dell’interfaccia utente del browser, spesso indipendente dai ricaricamenti delle pagine. Queste esperienze vengono attivate dalle interazioni dei clienti, ad esempio scorrimento, clic e movimenti del cursore. Con l’evolversi dei paradigmi del web moderno, la rilevanza degli eventi generici tradizionali, come il caricamento di una pagina, per distribuire personalizzazione e sperimentazione non funziona più.

Diagramma che mostra il ciclo di vita delle applicazioni a pagina singola rispetto al ciclo di vita delle pagine tradizionali.

Vantaggi di Experience Platform Web SDK per le applicazioni a pagina singola

Di seguito sono riportati alcuni vantaggi dell'utilizzo di Adobe Experience Platform Web SDK per le applicazioni a pagina singola:

  • Capacità di memorizzare nella cache tutte le offerte al caricamento di pagina per ridurre più chiamate al server a una singola chiamata al server.
  • Migliora l’esperienza utente sul sito perché le offerte vengono visualizzate immediatamente tramite la cache senza il tempo di ritardo introdotto dalle chiamate al server tradizionali.
  • Una singola riga di codice e una configurazione per sviluppatori una tantum consentono agli addetti al marketing di creare ed eseguire attività A/B Test e Experience Targeting (XT) tramite il Visual Experience Composer (VEC) nell'applicazione a pagina singola.

Visualizzazioni XDM e applicazioni a pagina singola

Il Compositore esperienza visivo Adobe Target per applicazioni a pagina singola sfrutta un concetto denominato Views: un gruppo logico di elementi visivi che insieme formano un'esperienza SPA. Un’applicazione a pagina singola può, pertanto, essere considerata come transizione attraverso le viste, anziché gli URL, in base alle interazioni dell’utente. In genere, un elemento View può rappresentare un intero sito o elementi visivi raggruppati all'interno di un sito.

Per ulteriori informazioni sulle visualizzazioni, nell'esempio seguente viene utilizzato un ipotetico sito di e-commerce online implementato in React per esplorare l'esempio Views.

Dopo aver visitato la home page, un’immagine protagonista promuove una vendita di Pasqua e gli ultimi prodotti disponibili sul sito. In questo caso, è possibile definire View per l'intera schermata iniziale. View potrebbe semplicemente essere chiamato "home".

Immagine di esempio di unapplicazione a pagina singola in una finestra del browser.

Quando il cliente diventa più interessato ai prodotti venduti dall'azienda, decide di fare clic sul collegamento Prodotti. Analogamente alla home page, l'intero sito prodotti può essere definito come View. View potrebbe essere denominato "products-all".

Immagine di esempio di unapplicazione a pagina singola in una finestra del browser, con tutti i prodotti visualizzati.

Poiché un View può essere definito come un intero sito o un gruppo di elementi visivi su un sito. I quattro prodotti visualizzati nel sito prodotti possono essere raggruppati e considerati come View. Questa visualizzazione potrebbe essere denominata "products" (prodotti).

Immagine di esempio di unapplicazione a pagina singola in una finestra del browser, con prodotti di esempio visualizzati.

Quando il cliente decide di fare clic sul pulsante Carica altro per esplorare altri prodotti sul sito, in questo caso l'URL del sito Web non cambia. Tuttavia, è possibile creare View qui per rappresentare solo la seconda riga di prodotti visualizzati. Il nome View può essere "products-page-2".

Immagine di esempio di unapplicazione a pagina singola in una finestra del browser, con prodotti di esempio visualizzati in una pagina aggiuntiva.

Il cliente decide di acquistare alcuni prodotti dal sito e procede alla schermata di pagamento. Sul sito di pagamento, al cliente vengono offerte le opzioni per scegliere la consegna normale o express. Un View può essere qualsiasi gruppo di elementi visivi su un sito, quindi un View può essere creato per le preferenze di consegna e chiamato "Preferenze di consegna".

Immagine di esempio di una pagina di estrazione di unapplicazione a pagina singola in una finestra del browser.

Il concetto di Views può essere esteso molto oltre questo scenario. Questi scenari sono solo alcuni esempi di Views che è possibile definire in un sito.

Implementazione di XDM Views

È possibile sfruttare XDM Views in Target per consentire agli addetti al marketing di eseguire test A/B e XT sulle applicazioni a pagina singola tramite Visual Experience Composer. Per completare la configurazione di uno sviluppatore una tantum, è necessario eseguire i passaggi seguenti:

  1. Installa Adobe Experience Platform Web SDK.

  2. Determinare tutti i XDM Views nell'applicazione a pagina singola che si desidera personalizzare.

  3. Dopo aver definito XDM Views, per distribuire le attività A/B o XT del Compositore esperienza visivo, implementare la funzione sendEvent() con renderDecisions impostato su true e i corrispondenti XDM View nell'applicazione a pagina singola. XDM View deve essere passato in xdm.web.webPageDetails.viewName. Questo passaggio consente agli esperti di marketing di sfruttare Visual Experience Composer per avviare test A/B e XT per tali XDM.

    code language-javascript
    alloy("sendEvent", {
      "renderDecisions": true,
      "xdm": {
        "web": {
          "webPageDetails": {
          "viewName":"home"
          }
        }
      }
    });
    
NOTE
Alla prima chiamata sendEvent(), tutti i XDM Views di cui eseguire il rendering per l'utente finale vengono recuperati e memorizzati in cache. Le sendEvent() chiamate successive con XDM Views trasmesse vengono lette dalla cache e sottoposte a rendering senza una chiamata al server.

sendEvent() esempi di funzioni

In questa sezione vengono illustrati tre esempi che illustrano come richiamare la funzione sendEvent() in React per un'ipotetica applicazione a pagina singola per e-commerce.

Esempio 1: home page per test A/B

Il team marketing desidera eseguire test A/B sull’intera home page.

Immagine di esempio di unapplicazione a pagina singola in una finestra del browser.

Per eseguire test A/B sull'intero sito principale, è necessario richiamare sendEvent() con XDM viewName impostato su home:

function onViewChange() {

  var viewName = window.location.hash; // or use window.location.pathName if router works on path and not hash

  viewName = viewName || 'home'; // view name cannot be empty

  // Sanitize viewName to get rid of any trailing symbols derived from URL

  if (viewName.startsWith('#') || viewName.startsWith('/')) {
    viewName = viewName.substr(1);
  }

  alloy("sendEvent", {
    "renderDecisions": true,
    "xdm": {
      "web": {
        "webPageDetails": {
          "viewName":"home"
        }
      }
    }
  });
}

// react router v4

const history = syncHistoryWithStore(createBrowserHistory(), store);

history.listen(onViewChange);

// react router v3

<Router history={hashHistory} onUpdate={onViewChange} >

Esempio 2: prodotti personalizzati

Il team marketing desidera personalizzare la seconda riga di prodotti cambiando il colore dell'etichetta prezzo in rosso dopo che un utente ha fatto clic su Carica altro.

Immagine di esempio di unapplicazione a pagina singola in una finestra del browser, con offerte personalizzate.

function onViewChange(viewName) {

  alloy("sendEvent", {
    "renderDecisions": true,
    "xdm": {
      "web": {
        "webPageDetails": {
          "viewName": viewName
        }
      }
    }
  });
}

class Products extends Component {

  render() {
    return (
      <button type="button" onClick={this.handleLoadMoreClicked}>Load more</button>
    );
  }

  handleLoadMoreClicked() {
    var page = this.state.page + 1; // assuming page number is derived from component's state
    this.setState({page: page});
    onViewChange('PRODUCTS-PAGE-' + page);
  }

}

Esempio 3: preferenze di consegna per test A/B

Il team marketing desidera eseguire un test A/B per verificare se cambiare il colore del pulsante da blu a rosso quando si seleziona Consegna express. Il team ritiene che questa modifica possa aumentare le conversioni (invece di mantenere il pulsante blu con entrambe le opzioni di consegna).

Immagine di esempio di unapplicazione a pagina singola in una finestra del browser, con test A/B.

Per personalizzare il contenuto sul sito a seconda della preferenza di consegna selezionata, è possibile creare un View per ogni preferenza di consegna. Quando è selezionata l'opzione Consegna normale, View può essere denominato "checkout-normal". Se è selezionata l'opzione Consegna express, View può essere denominato "checkout-express".

function onViewChange(viewName) {
  alloy("sendEvent", {
    "renderDecisions": true,
    "xdm": {
      "web": {
        "webPageDetails": {
          "viewName": viewName
        }
      }
    }
  });
}

class Checkout extends Component {

  render() {
    return (
      <div onChange={this.onDeliveryPreferenceChanged}>
        <label>
          <input type="radio" id="normal" name="deliveryPreference" value={"Normal Delivery"} defaultChecked={true}/>
          <span> Normal Delivery (7-10 business days)</span>
        </label>
        <label>
          <input type="radio" id="express" name="deliveryPreference" value={"Express Delivery"}/>
          <span> Express Delivery* (2-3 business days)</span>
        </label>
      </div>
    );
  }

  onDeliveryPreferenceChanged(evt) {
    var selectedPreferenceValue = evt.target.value;
    onViewChange(selectedPreferenceValue);
  }

}

Utilizzo di Visual Experience Composer per un'applicazione a pagina singola

Dopo aver definito XDM Views e implementato sendEvent() con i XDM Views passati, il Compositore esperienza visivo è in grado di rilevare questi Views e consentire agli utenti di creare azioni e modifiche per le attività A/B o XT.

NOTE
Per utilizzare il Compositore esperienza visivo per l'applicazione a pagina singola, è necessario installare e attivare Firefox o l'estensione Chrome VEC Helper.

Pannello Modifications

Il pannello Modifications acquisisce le azioni create per un particolare View. Tutte le azioni per un View sono raggruppate sotto tale View.

Azioni

Facendo clic su un’azione viene evidenziato l’elemento del sito in cui questa viene applicata. Ogni azione del Compositore esperienza visivo creata in un View presenta le icone seguenti: Informazioni, Modifica, Clone, Sposta e Elimina. Queste icone sono spiegate più dettagliatamente nella tabella seguente.

Icona
Descrizione
Informazioni
Visualizza i dettagli dell’azione.
Modifica
Ti consente di modificare direttamente le proprietà dell’azione.
Clona
Clona l'azione in uno o più Views presenti nel pannello Modifications o in uno o più Views a cui sei passato nel Compositore esperienza visivo. L'azione non deve necessariamente essere presente nel pannello Modifications.

Nota: dopo un'operazione di clonazione, è necessario passare a View nel Compositore esperienza visivo tramite Browse per verificare se l'azione clonata è un'operazione valida. Se l'azione non può essere applicata a View, viene visualizzato un errore.
Sposta
Sposta l'azione in un Page Load Event o in un altro View già esistente nel pannello Modifications.

Evento di caricamento pagina: Tutte le azioni corrispondenti all'evento di caricamento pagina vengono applicate al caricamento iniziale della pagina dell'applicazione Web.

Nota: dopo un'operazione di spostamento, è necessario passare a View nel Compositore esperienza visivo tramite Browse per verificare se lo spostamento è un'operazione valida. Se l'azione non può essere applicata a View, viene visualizzato un errore.
Elimina
Elimina l’azione.

Esempi di utilizzo del Compositore esperienza visivo per le applicazioni a pagina singola

Questa sezione descrive tre esempi per l'utilizzo di Visual Experience Composer per creare azioni e modifiche per le attività A/B o XT.

Esempio 1: aggiornare la vista "home"

In precedenza in questo articolo era stato definito un View denominato "home" per l'intero sito principale. Ora il team marketing desidera aggiornare la visualizzazione "home" nei seguenti modi:

  • Cambia i pulsanti Aggiungi al carrello e Mi piace in una tonalità blu più chiara. Questa modifica dovrebbe verificarsi durante il caricamento della pagina perché comporta la modifica di componenti dell’intestazione.
  • Modifica l'etichetta Ultimi prodotti per il 2026 in Migliori prodotti per il 2026 e modifica il colore del testo in viola.

Per apportare questi aggiornamenti nel Compositore esperienza visivo, seleziona Componi e applica le modifiche alla visualizzazione "Home page".

Pagina di esempio del Compositore esperienza visivo.

Esempio 2: modificare le etichette dei prodotti

Per "products-page-2" View, il team marketing desidera cambiare l'etichetta Price in Sale Price e cambiare il colore dell'etichetta in rosso.

Per apportare questi aggiornamenti nel Compositore esperienza visivo, è necessario attenersi ai seguenti passaggi:

  1. Seleziona Sfoglia nel Compositore esperienza visivo.
  2. Seleziona Prodotti nella navigazione superiore del sito.
  3. Seleziona Carica altro una volta per visualizzare la seconda riga di prodotti.
  4. Seleziona Componi nel Compositore esperienza visivo.
  5. Applica le azioni per modificare l'etichetta di testo in Prezzo di vendita e il colore in rosso.

Pagina di esempio del Compositore esperienza visivo con etichette di prodotto.

Esempio 3: personalizzare lo stile delle preferenze di consegna

Views può essere definito a livello granulare, ad esempio uno stato o un'opzione da un pulsante di opzione. In precedenza in questo articolo Views erano stati definiti per le preferenze di consegna, "checkout-normal" e "checkout-express". Il team marketing desidera cambiare il colore del pulsante in rosso per la visualizzazione "checkout-express".

Per apportare questi aggiornamenti nel Compositore esperienza visivo, è necessario attenersi ai seguenti passaggi:

  1. Seleziona Sfoglia nel Compositore esperienza visivo.
  2. Aggiungi prodotti al carrello sul sito.
  3. Seleziona l’icona del carrello nell’angolo in alto a destra del sito.
  4. Seleziona Estrai il tuo ordine.
  5. Selezionare il pulsante di opzione Consegna express in Preferenze di consegna.
  6. Seleziona Componi nel Compositore esperienza visivo.
  7. Cambia il colore del pulsante Paga in rosso.
NOTE
Il messaggio "checkout-express" View non viene visualizzato nel pannello Modifications finché non viene selezionato il pulsante di opzione Consegna express. Questo perché la funzione sendEvent() viene eseguita quando viene selezionato il pulsante di opzione Consegna express, pertanto il Compositore esperienza visivo non è a conoscenza di "checkout-express" View finché il pulsante di opzione non viene selezionato.

Il Compositore esperienza visivo mostra il selettore delle preferenze di consegna.

recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3