Tipi di evento

Questa pagina descrive i tipi di evento Adobe Experience Platform forniti dall’estensione tag Adobe Experience Platform Web SDK. Sono utilizzati per generare regole e non devono essere confusi con il campo eventType nell'oggetto xdm.

Hook di monitoraggio attivato monitoring-hook-triggered

Adobe Experience Platform Web SDK include hook di monitoraggio utilizzabili per monitorare vari eventi di sistema. Questi strumenti sono utili per sviluppare strumenti di debug personalizzati e per acquisire i registri dell’SDK web.

Per informazioni complete sui parametri contenuti da ogni evento hook di monitoraggio, consulta la documentazione sugli hook di monitoraggio dell'SDK Web.

Tag dellimmagine dellinterfaccia utente che mostra il tipo di evento hook di monitoraggio

L’estensione tag Web SDK supporta i seguenti hook di monitoraggio:

  • onInstanceCreated: questo evento hook di monitoraggio viene attivato quando si crea una nuova istanza Web SDK.

  • onInstanceConfigured: questo evento hook di monitoraggio viene attivato dall'SDK Web quando il comando configure è stato risolto

  • onBeforeCommand: questo evento hook di monitoraggio viene attivato da Web SDK prima dell'esecuzione di qualsiasi altro comando. Puoi utilizzare questo hook di monitoraggio per recuperare le opzioni di configurazione di un comando specifico.

  • onCommandResolved: questo evento hook di monitoraggio viene attivato prima della risoluzione della promessa di comando. È possibile utilizzare questa funzione per visualizzare le opzioni e i risultati del comando.

  • onCommandRejected: questo evento hook di monitoraggio viene attivato quando una promessa di comando viene rifiutata e contiene informazioni sulla causa dell'errore.

  • onBeforeNetworkRequest: questo evento hook di monitoraggio viene attivato prima dell'esecuzione di una richiesta di rete.

  • onNetworkResponse: questo evento hook di monitoraggio viene attivato quando il browser riceve una risposta.

  • onNetworkError: questo evento di monitoraggio dell'hook viene attivato quando la richiesta di rete non è riuscita.

  • onBeforeLog: questo evento hook di monitoraggio viene attivato prima che l'SDK Web registri qualsiasi elemento nella console.

  • onContentRendering: questo evento hook di monitoraggio è attivato dal componente personalization e consente di eseguire il debug del rendering del contenuto di personalizzazione. Questo evento può avere stati diversi:

    • rendering-started: indica che Web SDK sta per eseguire il rendering delle proposte. Prima che l'SDK Web inizi a eseguire il rendering di un ambito di decisione o di una visualizzazione, nell'oggetto data è possibile visualizzare le proposte che stanno per essere sottoposte a rendering dal componente personalization e il nome dell'ambito.
    • no-offers: indica che non è stato ricevuto alcun payload per i parametri richiesti.
    • rendering-failed: indica che Web SDK non è riuscito a eseguire il rendering di una proposta.
    • rendering-succeeded: indica che il rendering è stato completato per un ambito di decisione.
    • rendering-redirect: indica che Web SDK eseguirà una proposta di reindirizzamento.
  • onContentHiding: questo evento hook di monitoraggio viene attivato quando viene applicato o rimosso uno stile di pre-hiding.

Invio evento completato

In genere, la proprietà dispone di una o più regole che utilizzano l'azione Invia evento per inviare eventi all'Edge Network di Adobe Experience Platform. Ogni volta che un evento viene inviato a Edge Network, viene restituita una risposta al browser con dati utili. Senza il tipo di evento Invia evento completato, non potrai accedere ai dati restituiti.

Per accedere ai dati restituiti, crea una regola separata, quindi aggiungi un evento Invia evento completato alla regola. Questa regola viene attivata ogni volta che viene ricevuta una risposta dal server a seguito di un'azione Invia evento.

Quando un evento Invia evento completato attiva una regola, fornisce i dati restituiti dal server che possono essere utili per eseguire determinate attività. In genere, si aggiunge un'azione Codice personalizzato (dall'estensione Core) alla stessa regola contenente l'evento Invia evento completato. Nell'azione Codice personalizzato, il codice personalizzato avrà accesso a una variabile denominata event. Questa variabile event conterrà i dati restituiti dal server.

La regola per la gestione dei dati restituiti da Edge Network potrebbe essere simile alla seguente:

Di seguito sono riportati alcuni esempi di come eseguire alcune attività utilizzando l'azione Codice personalizzato in questa regola.

Rendering manuale di contenuti personalizzati

Nell’azione Codice personalizzato, inclusa nella regola per la gestione dei dati di risposta, puoi accedere alle proposte di personalizzazione restituite dal server. A questo scopo, digita il seguente codice personalizzato:

var propositions = event.propositions;

Se event.propositions esiste, si tratta di un array contenente oggetti di proposta di personalizzazione. Le proposte incluse nell’array sono determinate, in gran parte, dal modo in cui l’evento è stato inviato al server.

Per questo primo scenario, si supponga di non aver selezionato la casella di controllo Decisioni di rendering e di non aver fornito alcun ambito di decisione nell'azione Invia evento responsabile dell'invio dell'evento.

img.png

In questo esempio, l'array propositions contiene solo proposte relative all'evento idonee per il rendering automatico.

L'array propositions potrebbe essere simile a questo esempio:

[
  {
    "id": "AT:eyJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ9",
    "scope": "__view__",
    "items": [
      {
        "id": "11223344",
        "schema": "https://ns.adobe.com/personalization/dom-action",
        "data": {
          "content": "<h2 style=\"color: yellow\">An HTML proposition.</h2>",
          "selector": "#hero",
          "type": "setHtml"
        },
        "meta": {}
      }
    ],
    "renderAttempted": false
  },
  {
    "id": "AT:PyJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ8",
    "scope": "__view__",
    "items": [
      {
        "id": "11223345",
        "schema": "https://ns.adobe.com/personalization/dom-action",
        "data": {
          "content": "<h2 style=\"color: yellow\">Another HTML proposition.</h2>",
          "selector": "#sidebar",
          "type": "setHtml"
        },
        "meta": {}
      }
    ],
    "renderAttempted": false
  }
]

Durante l'invio dell'evento, la casella di controllo Decisioni di rendering non è stata selezionata, pertanto l'SDK non ha tentato di eseguire automaticamente il rendering di alcun contenuto. L’SDK ha comunque recuperato automaticamente i contenuti idonei per il rendering automatico e ti ha fornito come eseguire il rendering manualmente, se lo desideri. Tieni presente che la proprietà renderAttempted di ogni oggetto della proposta è impostata su false.

Se invece avessi selezionato la casella di controllo Decisioni di rendering durante l'invio dell'evento, l'SDK avrebbe tentato di eseguire il rendering di tutte le proposte idonee per il rendering automatico. Di conseguenza, la proprietà renderAttempted di ciascuno degli oggetti della proposta sarà impostata su true. In questo caso, non sarebbe necessario eseguire manualmente il rendering di queste proposte.

Finora hai esaminato solo i contenuti di personalizzazione idonei per il rendering automatico (ad esempio, qualsiasi contenuto creato nel Compositore esperienza visivo di Adobe Target). Per recuperare qualsiasi contenuto di personalizzazione not idoneo per il rendering automatico, richiedi il contenuto fornendo ambiti decisionali utilizzando il campo Ambiti decisionali nell'azione Invia evento. Un ambito è una stringa che identifica una particolare proposta che desideri recuperare dal server.

L'azione Invia evento sarà simile alla seguente:

img.png

In questo esempio, se le proposte vengono trovate nel server corrispondente all'ambito salutation o discount, vengono restituite e incluse nell'array propositions. Tieni presente che le proposte idonee per il rendering automatico continueranno a essere incluse nell'array propositions, indipendentemente da come configuri i campi Decisioni di rendering o Ambiti decisionali nell'azione Invia evento. L'array propositions, in questo caso, sarà simile all'esempio seguente:

[
  {
    "id": "AT:cZJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ2",
    "scope": "salutation",
    "items": [
      {
        "schema": "https://ns.adobe.com/personalization/json-content-item",
        "data": {
          "id": "4433221",
          "content": {
            "salutation": "Welcome, esteemed visitor!"
          }
        },
        "meta": {}
      }
    ],
    "renderAttempted": false
  },
  {
    "id": "AT:FZJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ0",
    "scope": "discount",
    "items": [
      {
        "schema": "https://ns.adobe.com/personalization/html-content-item",
        "data": {
          "id": "4433222",
          "content": "<div>50% off your order!</div>",
          "format": "text/html"
        },
        "meta": {}
      }
    ],
    "renderAttempted": false
  },
  {
    "id": "AT:eyJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ9",
    "scope": "__view__",
    "items": [
      {
        "id": "11223344",
        "schema": "https://ns.adobe.com/personalization/dom-action",
        "data": {
          "content": "<h2 style=\"color: yellow\">An HTML proposition.</h2>",
          "selector": "#hero",
          "type": "setHtml"
        },
        "meta": {}
      }
    ],
    "renderAttempted": false
  },
  {
    "id": "AT:PyJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ8",
    "scope": "__view__",
    "items": [
      {
        "id": "11223345",
        "schema": "https://ns.adobe.com/personalization/dom-action",
        "data": {
          "content": "<h2 style=\"color: yellow\">Another HTML proposition.</h2>",
          "selector": "#sidebar",
          "type": "setHtml"
        },
        "meta": {}
      }
    ],
    "renderAttempted": false
  }
]

A questo punto, puoi eseguire il rendering del contenuto delle proposte come lo ritieni opportuno. In questo esempio, la proposta corrispondente all'ambito discount è una proposta HTML creata utilizzando il Compositore esperienza basato su moduli di Adobe Target. Si supponga di disporre di un elemento nella pagina con ID daily-special e di voler eseguire il rendering del contenuto della proposta discount nell'elemento daily-special. Effettua le seguenti operazioni:

  1. Estrarre le proposte dall'oggetto event.
  2. Eseguire un ciclo in ogni proposta, cercando la proposta con un ambito di discount.
  3. Se trovi una proposta, scorri ciclicamente ogni elemento della proposta, cercando l’elemento che è il contenuto HTML. (È meglio controllare che presumere.)
  4. Se trovi un elemento contenente contenuti HTML, individua l'elemento daily-special nella pagina e sostituisci il relativo HTML con il contenuto personalizzato.

Il codice personalizzato all'interno dell'azione Codice personalizzato potrebbe essere visualizzato come segue:

var propositions = event.propositions;

var discountProposition;
if (propositions) {
  // Find the discount proposition, if it exists.
  for (var i = 0; i < propositions.length; i++) {
    var proposition = propositions[i];
    if (proposition.scope === "discount") {
      discountProposition = proposition;
      break;
    }
  }
}

var discountHtml;
if (discountProposition) {
  // Find the item from proposition that should be rendered.
  // Rather than assuming there a single item that has HTML
  // content, find the first item whose schema indicates
  // it contains HTML content.
  for (var j = 0; j < discountProposition.items.length; j++) {
    var discountPropositionItem = discountProposition.items[i];
    if (discountPropositionItem.schema === "https://ns.adobe.com/personalization/html-content-item") {
      discountHtml = discountPropositionItem.data.content;
      break;
    }
  }
}

if (discountHtml) {
  // Discount HTML exists. Time to render it.
  var dailySpecialElement = document.getElementById("daily-special");
  dailySpecialElement.innerHTML = discountHtml;
}

Accesso ai token di risposta di Adobe Target

Il contenuto Personalization restituito da Adobe Target include token di risposta, ovvero dettagli su attività, offerta, esperienza, profilo utente, informazioni geografiche e altro ancora. Questi dettagli possono essere condivisi con strumenti di terze parti o utilizzati per il debug. I token di risposta possono essere configurati nell’interfaccia utente di Adobe Target.

Nell’azione Codice personalizzato, inclusa nella regola per la gestione dei dati di risposta, puoi accedere alle proposte di personalizzazione restituite dal server. A tale scopo, digita il seguente codice personalizzato:

var propositions = event.propositions;

Se event.propositions esiste, si tratta di un array contenente oggetti di proposta di personalizzazione. Per ulteriori informazioni sul contenuto di result.propositions, vedere Eseguire manualmente il rendering del contenuto personalizzato.

Supponiamo di voler raccogliere tutti i nomi delle attività da tutte le proposte di cui è stato eseguito il rendering automatico dall’SDK web e inviarli in un singolo array. È quindi possibile inviare il singolo array a una terza parte. In questo caso, scrivere il codice personalizzato nell'azione Codice personalizzato in:

  1. Estrarre le proposte dall'oggetto event.
  2. Eseguire un ciclo tra le proposte.
  3. Determina se l’SDK ha eseguito il rendering della proposta.
  4. In tal caso, scorri ciclicamente ogni elemento della proposta.
  5. Recuperare il nome dell'attività dalla proprietà meta, che è un oggetto contenente token di risposta.
  6. Invia il nome dell’attività a un array.
  7. Invia i nomi delle attività a una terza parte.
var propositions = event.propositions;
if (propositions) {
  var activityNames = [];
  propositions.forEach(function(proposition) {
    if (proposition.renderAttempted) {
      proposition.items.forEach(function(item) {
        if (item.meta) {
          // item.meta contains the response tokens.
          var activityName = item.meta["activity.name"];
          // Ignore duplicates
          if (activityNames.indexOf(activityName) === -1) {
            activityNames.push(activityName);
          }
        }
      });
    }
  });
  // Now that activity names are in an array,
  // you can send them to a third party or use
  // them in some other way.
}

Sottoscrivi elementi set di regole subscribe-ruleset-items

Il tipo di evento Sottoscrivi elementi set di regole consente di sottoscrivere le schede di contenuto Adobe Journey Optimizer per una superficie. Ogni volta che i set di regole vengono valutati, il callback fornito a questo comando riceve un oggetto risultato con proposte che contengono i dati della scheda di contenuto.

Immagine dellinterfaccia utente dei tag di Experience Platform che mostra il tipo di evento Sottoscrivi elementi set di regole.

Questo tipo di evento supporta le seguenti proprietà configurabili:

  • Schemi: un array di schemi per i quali si desidera effettuare la sottoscrizione alle schede di contenuto. Puoi inserire gli schemi manualmente o fornendo un elemento dati.
  • Superfici: array di superfici per le quali si desidera sottoscrivere schede di contenuto. Potete immettere le superfici manualmente o fornendo un elemento dati.
recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743