Tipi di evento

In questa pagina sono descritti 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 di Web SDK.

Per informazioni complete sui parametri contenuti da ogni evento hook di monitoraggio, vedere la documentazione relativa agli hook di monitoraggio di Web SDK.

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 correttamente una nuova istanza di Web SDK.

  • onInstanceConfigured: questo evento hook di monitoraggio viene attivato dal Web SDK 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 hook di monitoraggio viene attivato quando la richiesta di rete non è riuscita.

  • onBeforeLog: questo evento hook di monitoraggio viene attivato prima che Web SDK 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 il Web SDK sta per eseguire il rendering delle proposte. Prima che il Web SDK 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 di hook di monitoraggio viene attivato quando viene applicato o rimosso uno stile di pre-hiding.

Send event complete

In genere, la proprietà ha una o più regole che utilizzano l'azione Send event per inviare eventi a Adobe Experience Platform Edge Network. Ogni volta che un evento viene inviato ad Edge Network, viene restituita una risposta al browser con dati utili. Senza il tipo di evento Send event complete, non avresti accesso ai dati restituiti.

Per accedere ai dati restituiti, creare una regola separata, quindi aggiungere un evento Send event complete alla regola. Questa regola viene attivata ogni volta che viene ricevuta una risposta corretta dal server a seguito di un'azione Send event.

Quando un evento Send event complete attiva una regola, fornisce i dati restituiti dal server che possono essere utili per eseguire determinate attività. In genere, si aggiunge un'azione Custom code (dall'estensione Core) alla stessa regola che contiene l'evento Send event complete. Nell'azione Custom code, 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 determinate attività utilizzando l'azione Custom code 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 che non sia stata selezionata la casella di controllo Render decisions e che non sia stato specificato alcun decision scopes nell'azione Send event 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 Render decisions non è stata selezionata, pertanto SDK non ha tentato di eseguire automaticamente il rendering del contenuto. SDK, tuttavia, ha comunque recuperato automaticamente i contenuti idonei per il rendering automatico e ti ha fornito la possibilità di eseguire manualmente il rendering, se lo desideri. Tieni presente che la proprietà renderAttempted di ogni oggetto della proposta è impostata su false.

Se invece fosse stata selezionata la casella di controllo Render decisions durante l'invio dell'evento, 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 Decision scopes nell'azione Send event. Un ambito è una stringa che identifica una particolare proposta che desideri recuperare dal server.

L'azione Send event 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 Render decisions o Decision scopes nell'azione Send event. 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 di 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 è contenuto HTML. (È meglio controllare che presumere.)
  4. Se si trova un elemento contenente contenuto HTML, trovare l'elemento daily-special nella pagina e sostituire il relativo HTML con il contenuto personalizzato.

Il codice personalizzato all'interno dell'azione Custom code 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 , vedere ​Eseguire manualmente il rendering del contenuto personalizzatoresult.propositions.

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

  1. Estrarre le proposte dall'oggetto event.
  2. Eseguire un ciclo tra le proposte.
  3. Determinare se la proposta è stata sottoposta a rendering da SDK.
  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.
}

Subscribe ruleset items subscribe-ruleset-items

Il tipo di evento Subscribe ruleset items ti consente di abbonarti alle 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:

  • Schemas: 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.
  • Surfaces: Array di superfici per le quali si desidera sottoscrivere le schede di contenuto. Potete immettere le superfici manualmente o fornendo un elemento dati.
recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743