Gestione delle risposte ai comandi
Alcuni comandi dell’SDK web possono restituire un oggetto contenente dati potenzialmente utili per l’organizzazione. Puoi scegliere cosa fare con quei dati, se lo desideri. Le risposte ai comandi sono utili per proposte e destinazioni, in quanto richiedono dati Edge Network per funzionare in modo efficace.
Le risposte ai comandi utilizzano promesse di JavaScript, che fungono da proxy per un valore non noto al momento della creazione della promessa. Una volta che il valore è noto, la promessa viene "risolta" con il valore.
Gestire le risposte ai comandi tramite l’estensione tag Web SDK
Crea una regola che sottoscrive l'evento Invia evento completato come parte di una regola.
- Accedi a experience.adobe.com utilizzando le credenziali Adobe ID.
- Passa a Raccolta dati > Tag.
- Seleziona la proprietà tag desiderata.
- Passa a Regole, quindi seleziona la regola desiderata.
- In Eventi, seleziona un evento esistente o creane uno.
- Imposta il campo a discesa Estensione su Adobe Experience Platform Web SDK e imposta Tipo evento su Invia evento completato.
- Fai clic su Mantieni modifiche, quindi esegui il flusso di lavoro di pubblicazione.
Puoi quindi includere le azioni Applica proposte o Applica risposta a questa regola.
- Quando visualizzi la regola creata o modificata in precedenza, seleziona un’azione esistente o crea un’azione.
- Imposta il campo a discesa Estensione su Adobe Experience Platform Web SDK e imposta Tipo azione su Applica proposte o Applica risposta, a seconda del comportamento desiderato.
- Imposta i campi desiderati dell'azione, quindi fai clic su Mantieni modifiche.
Gestire le risposte dei comandi tramite la libreria JavaScript dell’SDK per web
Utilizzare i metodi then
e catch
per determinare quando un comando ha esito positivo o negativo. È possibile omettere then
o catch
se le loro finalità non sono importanti per l'implementazione.
alloy("sendEvent", {
"xdm": {
"commerce": {
"order": {
"purchaseID": "a8g784hjq1mnp3",
"purchaseOrderNumber": "VAU3123",
"currencyCode": "USD",
"priceTotal": 999.98
}
}
}
}).then(function(result) {
console.log("The sendEvent command succeeded.");
})
.catch(function(error) {
console.log("The sendEvent command failed.");
});
Tutte le promesse restituite dai comandi utilizzano un oggetto result
. Ad esempio, è possibile ottenere informazioni sulla libreria dall'oggetto result
utilizzando il comando getLibraryInfo
:
alloy("getLibraryInfo")
.then(function(result) {
console.log(result.libraryInfo.version);
console.log(result.libraryInfo.commands);
console.log(result.libraryInfo.configs);
});
Il contenuto di questo oggetto result
dipende dalla combinazione del comando utilizzato e del consenso dell'utente. Se un utente non ha dato il proprio consenso per uno scopo particolare, l’oggetto di risposta contiene solo informazioni che possono essere fornite nel contesto di ciò a cui l’utente ha acconsentito.