Panoramica sullo sviluppo di estensioni

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.

Uno degli obiettivi principali di Adobe Experience Platform Launch è la creazione di un ecosistema aperto che consenta anche ai tecnici che non fanno parto del team di sviluppo di Platform Launch di pubblicare funzionalità aggiuntive. Questo avviene attraverso le estensioni Reactor. Dopo che un utente ha installato un’estensione su una proprietà Platform Launch, la relativa funzionalità diventa disponibile per tutti gli utenti della proprietà.

Questo documento illustra i componenti principali di diversi tipi di estensione e fornisce i collegamenti per un'ulteriore documentazione che ti servirà come guida nel processo di sviluppo delle estensioni.

Moduli libreria

I moduli libreria sono pezzi di codice riutilizzabile forniti da un’estensione emessa all'interno della libreria runtime di Platform Launch. A seconda del fatto che tu stia sviluppando un'estensione Web o un'estensione edge, i tipi di modulo disponibili e i relativi casi di utilizzo saranno diversi. Per una panoramica dei moduli per ciascun tipo di estensione, fai riferimento alle seguenti sottosezioni:

Moduli per estensioni web

Nelle estensioni web, le regole vengono attivate attraverso gli eventi, che possono eseguire azioni specifiche se viene soddisfatta una determinata serie di condizioni. Per ulteriori informazioni, consulta la panoramica sul flusso dei moduli nelle estensioni web.

Oltre ai moduli core forniti da Adobe, nelle estensioni è possibile definire i seguenti tipi di moduli libreria:

NOTA

Per informazioni dettagliate sul formato richiesto per l’implementazione dei moduli libreria nelle estensioni web, consulta la panoramica sul formato dei moduli.

Tipi di evento

Un evento regola è un’attività che deve essere eseguita prima dell’attivazione di una regola.

Ad esempio, un’estensione potrebbe fornire un tipo di evento “gesture” che controlla se si verifica un determinato movimento del mouse o del tocco. Quando si verifica il gesto, la logica dell’evento attiva la regola.

I tipi di evento sono in genere costituiti da (1) una vista mostrata nell’applicazione Platform Launch che consente agli utenti di modificare le impostazioni per l’evento; e (2) un modulo libreria emesso nella libreria runtime Platform Launch per interpretare le impostazioni e controllare che si verifichi una determinata attività.

Per saperne di più

Tipi di condizioni

La condizione di una regola viene valutata dopo che si è verificato un evento regola. Tutte le condizioni devono restituire true affinché la regola possa continuare l’elaborazione. L’eccezione si verifica quando gli utenti inseriscono esplicitamente le condizioni in un bucket di “eccezione”, nel qual caso tutte le condizioni all’interno del bucket devono restituire false per consentire alla regola di continuare l’elaborazione.

Ad esempio, un’estensione potrebbe fornire un tipo di condizione “viewport contains” in cui l’utente di Platform Launch potrebbe specificare un selettore CSS. Quando la condizione viene valutata sul sito web del client, l’estensione sarà in grado di trovare elementi che corrispondono al selettore CSS e restituire se uno di essi è contenuto nella finestra dell’utente.

I tipi di condizione sono in genere costituiti da (1) una vista mostrata nell’applicazione Platform Launch che consente agli utenti di modificare le impostazioni per la condizione; e (2) un modulo libreria emesso nella libreria runtime di Platform Launch per interpretare le impostazioni e valutare una condizione.

Per saperne di più

Tipi di azioni

Un’azione regola viene eseguita dopo che si è verificato l’evento regola e se le condizioni hanno superato la valutazione.

Ad esempio, un’estensione potrebbe fornire un tipo di azione “show support chat” che potrebbe mostrare una finestra di dialogo con la chat di supporto per aiutare gli utenti che riscontrano difficoltà nel concludere un acquisto.

I tipi di azione sono in genere costituiti da (1) una vista, mostrata all’interno dell’applicazione Platform Launch, che consente agli utenti di modificare le impostazioni per l’azione; e (2) un modulo libreria emesso all’interno della libreria runtime di Platform Launch per interpretare le impostazioni ed eseguire un’azione.

Per saperne di più

Tipi di elementi dati

Gli elementi dati sono essenzialmente alias per parti di dati su una pagina, indipendentemente dal fatto che tali dati siano presenti in parametri di stringa di query, cookie, elementi DOM o in altre aree. Le regole possono fare riferimento a un elemento dati che funge da astrazione per accedere a tali dati. Quando la posizione dei dati cambia in futuro (ad esempio, da un elemento DOM innerHTML al valore di una variabile JavaScript), è possibile riconfigurare un singolo elemento dati mantenendo invariate tutte le regole che vi fanno riferimento.

Un tipo di elemento dati consente agli utenti di configurare elementi dati per accedere a determinati dati in un modo particolare. Ad esempio, un’estensione potrebbe fornire un tipo di elemento dati “elemento di archiviazione locale” in cui l’utente di Platform Launch può specificare il nome di un elemento specifico. Quando una regola fa riferimento all’elemento dati, l’estensione sarà in grado di cercare il valore dell’elemento nell’archiazione locale utilizzando il nome fornito dall’utente durante la configurazione dell’elemento dati.

I tipi di elementi dati in genere consistono in (1) una vista mostrata all’interno dell’applicazione Platform Launch che consente agli utenti di modificare le impostazioni per l’elemento dati; e (2) un modulo libreria emesso nella libreria runtime di Platform Launch per interpretare le impostazioni e recuperare i dati.

Per saperne di più

Moduli condivisi

Un modulo condiviso è un modulo esposto da un’estensione in modo che un’altra vi possa accedere. Questo può essere un meccanismo molto utile per la comunicazione tra le estensioni. Ad esempio, l’estensione A può caricare una parte di dati in modo asincrono e renderla disponibile all’estensione B tramite una promise, o promessa.

I moduli condivisi sono inclusi nella libreria anche quando non vengono mai richiamati dall’interno di altre estensioni. Per non aumentare inutilmente la dimensione della libreria, occorre prestare attenzione a ciò che viene esposto come modulo condiviso.

I moduli condivisi non hanno un componente vista.

Per saperne di più

Moduli per estensioni Edge

Nelle estensioni Edge, le regole vengono attivate tramite controlli di condizione che, se vengono superati, eseguono azioni specifiche. Per ulteriori informazioni, consulta la panoramica sul flusso dei moduli nelle estensioni Edge.

Nelle estensioni Edge, è possibile definire moduli libreria personalizzati. Questi possono essere suddivisi in categorie nei seguenti tipi:

NOTA

Per informazioni dettagliate sul formato richiesto per l’implementazione dei moduli libreria nelle estensioni Edge, consulta la panoramica sul formato dei moduli.

Tipi di condizione

La condizione di una regola viene valutata dopo che si è verificato un evento regola. Tutte le condizioni devono restituire true affinché la regola possa continuare l’elaborazione. L’eccezione si verifica quando gli utenti inseriscono esplicitamente le condizioni in un bucket di “eccezione”, nel qual caso tutte le condizioni all’interno del bucket devono restituire false per consentire alla regola di continuare l’elaborazione.

Ad esempio, un’estensione potrebbe fornire un tipo di condizione “viewport contains” in cui l’utente di Platform Launch potrebbe specificare un selettore CSS. Quando la condizione viene valutata sul sito web del client, l’estensione sarà in grado di trovare elementi che corrispondono al selettore CSS e restituire se uno di essi è contenuto nella finestra dell’utente.

I tipi di condizione sono in genere costituiti da (1) una vista mostrata nell’applicazione Platform Launch che consente agli utenti di modificare le impostazioni per la condizione; e (2) un modulo libreria emesso nella libreria runtime di Platform Launch per interpretare le impostazioni e valutare una condizione.

Per saperne di più

Tipi di azioni

Un’azione di una regola viene eseguita dopo che le condizioni della regola hanno superato la valutazione.

Ad esempio, un’estensione potrebbe fornire un tipo di azione “show support chat” che potrebbe mostrare una finestra di dialogo con la chat di supporto per aiutare gli utenti che riscontrano difficoltà nel concludere un acquisto.

I tipi di azione sono in genere costituiti da (1) una vista, mostrata all’interno dell’applicazione Platform Launch, che consente agli utenti di modificare le impostazioni per l’azione; e (2) un modulo libreria emesso all’interno della libreria runtime di Platform Launch per interpretare le impostazioni ed eseguire un’azione.

Per saperne di più

Tipi di elementi dati

Essenzialmente, gli elementi dati sono alias per porzioni di dati su una pagina, indipendentemente dalla posizione in cui tali dati si trovano all’interno dell’evento ricevuto dal server. Le regole possono fare riferimento a un elemento dati che funge da astrazione per accedere a tali dati. Se la posizione dei dati cambia in futuro (ad esempio se viene modificato l’evento chiave che contiene il valore), è possibile riconfigurare un singolo elemento dati mantenendo invariate tutte le regole che vi fanno riferimento.

I tipi di elementi dati in genere consistono in (1) una vista mostrata all’interno dell’applicazione Platform Launch che consente agli utenti di modificare le impostazioni per l’elemento dati; e (2) un modulo libreria emesso nella libreria runtime di Platform Launch per interpretare le impostazioni e recuperare i dati.

Per saperne di più

Configurazione dell'estensione

Per configurazione di un’estensione si intende il modo in cui essa raccoglie le impostazioni globali da un utente. Consideriamo ad esempio un’estensione che consente all’utente di inviare un beacon utilizzando un’azione Invia beacon, e che il beacon debba sempre contenere un ID account. Vogliamo evitare che agli utenti venga richiesto di immettere l’ID account ogni volta che devono configurare un’azione Invia beacon. L’estensione dovrà quindi richiedere l’ID account una sola volta, dalla vista di configurazione dell’estensione. Ogni volta che un beacon viene inviato, il modulo libreria dell’azione Invia beacon può richiamare l’ID account dalla configurazione dell’estensione e aggiungerlo al beacon.

Quando si installa un’estensione per una proprietà di Platform Launch, agli utenti viene mostrata la vista per la configurazione dell’estensione. Non è possibile completare l’installazione dell’estensione senza completarne la configurazione.

La configurazione dell’estensione è costituita da un componente vista che esporta come oggetto normale le impostazioni, le quali vengono quindi emesse all’interno della libreria runtime di Platform Launch.

Per saperne di più

Struttura delle estensioni

Un’estensione è costituita da una directory di file. Di seguito viene fornita una panoramica della struttura di questi file. Il contenuto dei file è trattato in altre sezioni.

Nella directory principale deve esistere un file extension.json. Questo file descriverà, tra le altre cose, la composizione dell’estensione e la collocazione di alcuni file all’interno della directory. Per alcuni aspetti, è simile al file package.json in npm.

Ogni modulo libreria (la logica da emettere nella libreria runtime di Platform Launch) deve essere un proprio file il cui contenuto segue lo standard del modulo CommonJS. Ad esempio, se si deve creare un tipo di azione “send beacon”, è necessario un file contenente la logica per l’invio del beacon. Il contenuto di questo file verrà emesso all’interno della libreria runtime di Platform Launch. Puoi denominarlo sendBeacon.js. La posizione del file nella directory non è importante, in quanto è già descritta in extension.json.

Ogni vista deve essere un file HTML in grado di essere caricato in un iframe all’interno dell’applicazione Platform Launch. La vista deve includere uno script fornito da Platform Launch e deve essere conforme a una piccola API per comunicare con l’applicazione. Non sono previste restrizioni per le modalità di utilizzo delle librerie nelle viste. In altre parole, è possibile utilizzare jQuery, Underscore, React, Angular, Bootstrap o altre librerie. Tuttavia, è consigliabile che l’aspetto dell’estensione sia simile a quello dell’applicazione.

Si consiglia di inserire tutti i file relativi alla vista (HTML, CSS, JavaScript) in una singola sottodirectory, isolata dai file del modulo libreria. In extension.json si dovrà descrivere la posizione di questa sottodirectory della vista. Launch distribuirà quindi questa sottodirectory (e solo questa sottodirectory) dai propri server web.

In questa pagina