Panoramica dell’estensione Core lato server

NOTA

Adobe Experience Platform Launch viene riclassificato come una suite di tecnologie di raccolta dati nell’Experience Platform. Queste modifiche verranno implementate in tutta la documentazione del prodotto nelle prossime settimane. Fare riferimento al seguente documento per un riferimento consolidato delle modifiche terminologiche.

L’estensione Core è l’estensione predefinita rilasciata con Adobe Experience Platform Launch Server Side.

Utilizza questo riferimento per informazioni sulle opzioni disponibili quando utilizzi questa estensione per creare una regola.

Tipi di condizione dell'estensione core

In questa sezione sono descritti i tipi di condizioni disponibili nell’estensione core. Questi tipi di condizioni possono essere utilizzati con il tipo di logica regolare o d’eccezione.

Custom Code

Specifica un codice personalizzato che deve esistere come condizione dell'evento. Utilizza l'editor di codice incorporato per inserire il codice personalizzato. Platform Launch Server Side supporta ES6.

  1. Selezionare Apri editor.
  2. Digita il codice personalizzato.
  3. Seleziona Salva.

Per accedere al valore di un elemento dati nel codice personalizzato, utilizza il metodo getDataElementValue. Ad esempio, per recuperare il valore di un elemento dati denominato productName, scrivi quanto segue:

getDataElementValue('productName') 

Oggetto ruleStash

Nel codice personalizzato, è possibile utilizzare anche l’oggetto ruleStash.

arc.ruleStash: Object<string, *>`
logger.log(context.arc.ruleStash);

L’oggetto ruleStash raccoglie ogni risultato dai moduli di azione.

Ogni estensione dispone di un proprio namespace. Ad esempio, se l’estensione è denominata send-beacon, tutti i risultati delle azioni send-beacon vengono memorizzati nel namespace ruleStash['send-beacon'].

Il namespace è univoco per ciascuna estensione e ha il valore undefined all’inizio.

Il namespace verrà sovrascritto con il risultato restituito da ogni azione. Non avviene nulla di particolare. Ad esempio, per un’estensione transform contenente le due azioni generate-fullname e generate-fulladdress, aggiungi entrambe le azioni a una regola.

Se il risultato dell’azione generate-fullname è Firstname Lastname, allora dopo il completamento dell’azione verrà visualizzato il seguente stash della regola:

{
  transform: 'Firstname Lastname`
}

Se il risultato dell’azione generate-address è 3900 Adobe Way, allora dopo il completamento dell’azione verrà visualizzato il seguente stash della regola:

{
  transform: '3900 Adobe Way`
}

Tieni presente che Firstname Lastname non esiste più nello stash della regola. L’azione generate-address, infatti, lo ha sovrascritto con i dati dell’indirizzo.

Se desideri memorizzare i risultati di entrambe le azioni all’interno del namespace transform nell’oggetto ruleStash, puoi scrivere il modulo di azione in modo simile all’esempio seguente:

module.exports = (context) => {
  let transformRuleStash = context.arc.ruleStash.transform;
  if (!transformRuleStash) {
    transformRuleStash = {};
  }
  transformRuleStash.fullName = 'Firstname Lastname';
  return transformRuleStash;
}

La prima volta che questa azione viene eseguita, l’oggetto ruleStash è undefined e viene inizializzato con un oggetto vuoto. Alla successiva esecuzione dell’azione, l’oggetto ruleStash viene restituito dall’azione in cui era stato precedentemente richiamato. L’utilizzo di un oggetto come ruleStash consente di aggiungere nuovi dati senza perdere quelli precedentemente impostati da altre azioni dell’estensione.

In questo caso, devi fare attenzione a restituire sempre lo stash completo della regola dell’estensione. Se restituisci solo un valore (ad esempio 5), lo stash della regola apparirà nel modo seguente:

{
  transform: 5
}

Value Comparison

Confronta due valori per determinare se questa condizione restituisce true.

Se disponi di una regola con più condizioni, è possibile che questa condizione restituisca true, ma la regola non viene comunque attivata perché le altre condizioni restituiscono false o una delle eccezioni restituisce true.

  1. Immetti un valore.
  2. Seleziona l'operatore. Per ulteriori dettagli, consulta l'elenco degli operatori di confronto dei valori.
  3. Immetti un altro valore per il confronto.

Sono disponibili i seguenti operatori di confronto dei valori:

Equal: La condizione restituisce true se i due valori sono uguali utilizzando un confronto non rigoroso (in JavaScript, == operator). I valori possono essere di qualsiasi tipo. Quando digiti una parola come true, false, null o undefined in un campo value, la parola viene confrontata come stringa e non viene convertita nel relativo equivalente JavaScript.

Does Not Equal: La condizione restituisce true se i due valori non sono equalizzati con un confronto non rigoroso (in JavaScript il != operatore). I valori possono essere di qualsiasi tipo. Quando digiti una parola come true, false, null o undefined in un campo value, la parola viene confrontata come stringa e non viene convertita nel relativo equivalente JavaScript.

Contains: La condizione restituisce true se il primo valore contiene il secondo valore. I numeri vengono convertiti in stringhe. Qualsiasi valore diverso da un numero o una stringa fa sì che la condizione restituisca false.

Does Not Contain: La condizione restituisce true se il primo valore non contiene il secondo valore. I numeri vengono convertiti in stringhe. Qualsiasi valore diverso da un numero o una stringa fa sì che la condizione restituisca true.

Starts With: La condizione restituisce true se il primo valore inizia con il secondo valore. I numeri vengono convertiti in stringhe. Qualsiasi valore diverso da un numero o una stringa fa sì che la condizione restituisca false.

Does Not Start With: La condizione restituisce true se il primo valore non inizia con il secondo valore. I numeri vengono convertiti in stringhe. Se utilizzi un valore diverso da un numero o una stringa, la condizione restituisce true.

Ends With: La condizione restituisce true se il primo valore termina con il secondo valore. I numeri vengono convertiti in stringhe. Qualsiasi valore diverso da un numero o una stringa fa sì che la condizione restituisca false.

Does Not End With: La condizione restituisce true se il primo valore non termina con il secondo valore. I numeri vengono convertiti in stringhe. Se utilizzi un valore diverso da un numero o una stringa, la condizione restituisce true.

Matches Regex: La condizione restituisce true se il primo valore corrisponde all'espressione regolare. I numeri vengono convertiti in stringhe. Qualsiasi valore diverso da un numero o una stringa fa sì che la condizione restituisca false.

Does Not Match Regex: La condizione restituisce true se il primo valore non corrisponde all'espressione regolare. I numeri vengono convertiti in stringhe. Se utilizzi un valore diverso da un numero o una stringa, la condizione restituisce true.

Is Less Than: La condizione restituisce true se il primo valore è minore del secondo valore. Le stringhe che rappresentano i numeri sono convertite in numeri. Qualsiasi valore diverso da un numero o una stringa convertibile fa sì che la condizione restituisca false.

Is Less Than Or Equal To: La condizione restituisce true se il primo valore è minore o uguale al secondo valore. Le stringhe che rappresentano i numeri sono convertite in numeri. Qualsiasi valore diverso da un numero o una stringa convertibile fa sì che la condizione restituisca false.

Is Greater Than: La condizione restituisce true se il primo valore è maggiore del secondo valore. Le stringhe che rappresentano i numeri sono convertite in numeri. Qualsiasi valore diverso da un numero o una stringa convertibile fa sì che la condizione restituisca false.

Is Greater Than Or Equal To: La condizione restituisce true se il primo valore è maggiore o uguale al secondo valore. Le stringhe che rappresentano i numeri sono convertite in numeri. Qualsiasi valore diverso da un numero o una stringa convertibile fa sì che la condizione restituisca false.

Is True: La condizione restituisce true se il valore è booleano con il valore true. Il valore fornito non viene convertito in booleano se è di qualsiasi altro tipo. Un valore diverso da un valore booleano con valore true restituisce false.

Is Truthy: La condizione restituisce true se il valore è true dopo essere stato convertito in booleano. Consulta la documentazione Truthy di MDN per esempi di valori truthy.

Is False: La condizione restituisce true se il valore è booleano con il valore di false. Il valore fornito non viene convertito in booleano se è di qualsiasi altro tipo. Se un valore diverso da un valore booleano con valore false restituisce false, restituisce false.

Is Falsy: La condizione restituisce true se il valore è false dopo essere stato convertito in booleano. Consulta la documentazione Falsy di MDN per esempi di valori falsy.

Tipi di azione dell'estensione core

In questa sezione sono descritti i tipi di azioni disponibili nell'estensione core.

Codice personalizzato

Fornisci il codice che viene eseguito dopo l'attivazione dell'evento e le condizioni vengono valutate. Platform Launch Server Side supporta ES6.

  1. Denomina il codice dell'azione.
  2. Selezionare Apri editor.
  3. Modifica il codice, quindi seleziona Salva.

Per accedere al valore di un elemento dati nel codice personalizzato, utilizza il metodo getDataElementValue. Ad esempio, per recuperare il valore di un elemento dati denominato productName, scrivi quanto segue:

getDataElementValue('productName') 

Le azioni di Platform Launch Server Side vengono eseguite in sequenza. È inoltre possibile che il codice personalizzato in un'azione restituisca un valore che può essere utilizzato in un'azione successiva. Il valore restituito può provenire dal codice all'interno di tale azione, oppure dal corpo della risposta di una chiamata effettuata a una sorgente esterna. Per fare riferimento ai dati di un'azione eseguita in precedenza all'interno di una singola regola in cui viene utilizzata l’estensione Core, crea un elemento dati di tipo Path e utilizza il percorso seguente per fare riferimento al valore di una variabile denominata productCategory definita nel codice personalizzato all'interno dell'estensione Core:

arc.ruleStash.[Extension-Name].[key-as-defined-by-action] 

arc.ruleStash.core.productCategory  

Tipi di elementi di dati dell’estensione Core

I tipi di elementi dati sono determinati dall'estensione. Non vi sono limiti ai tipi che è possibile creare.

Nelle sezioni seguenti sono descritti i tipi di elementi dati disponibili nell'estensione Core. Altre estensioni utilizzano altri tipi di elementi dati.

Custom Code

È possibile inserire JavaScript personalizzato nell'interfaccia utente selezionando Open Editor e inserendo il codice nella finestra dell'editor.

Nella finestra dell'editor è necessaria un'istruzione return per indicare il valore da utilizzare come valore dell'elemento dati. Se non viene inclusa un'istruzione return oppure viene restituito il valore null o undefined, il valore predefinito dell'elemento dati è null o undefined.

Per accedere al valore di un elemento dati nel codice personalizzato, utilizza il metodo getDataElementValue. Ad esempio, per recuperare il valore di un elemento dati denominato productName, scrivi quanto segue:

getDataElementValue('productName') 

Esempio:

return getDataElementValue('section').concat(getDataElementValue('pName')); 

Path

È possibile fare riferimento al percorso di una coppia chiave-valore in un evento inviato a Adobe Experience Platform Edge Network utilizzando il tipo di elemento dati Percorso.

Per fare riferimento all'intero oggetto di un evento, immetti arc come percorso. L'acronimo arc sta per Adobe Resource Context e rappresenta il percorso di livello principale per un evento inviato ad Adobe Experience Platform Edge Network.

Ad esempio, data la chiamata interact dal client a Edge Network, dalla console del browser è visibile la seguente richiesta:

"events": [ 
        { 
             "xdm": { 
                    "page": { 
                            "btnHover": false, 
                            "pageName": "We Travel Home Page", 
                            "siteSection": "Landing Page" 
                     }] 

Per immettere un percorso che faccia riferimento a pageName, nel campo Percorso immetti quanto segue:

arc.event.xdm.page.pageName 
NOTA

La chiamata interact dal client ha events, ma nel lato server di Platform Launch è necessario event. Questo perché il lato server di Platform Launch controlla ogni evento singolarmente e non come batch di più eventi come mostrato sul client.

In questa pagina