Adobe Experience Platform Web SDK supporta l'esecuzione di query sulle soluzioni di personalizzazione Adobe, incluso Adobe Target. Esistono due modalità di personalizzazione: recupero del contenuto che può essere rappresentato automaticamente e del contenuto di cui lo sviluppatore deve eseguire il rendering. L’SDK fornisce inoltre le strutture per gestire lo sfarfallio.
L’SDK esegue automaticamente il rendering del contenuto personalizzato quando si invia un evento al server e si imposta renderDecisions
come opzione true
sull’evento.
alloy("sendEvent", {
"renderDecisions": true,
"xdm": {
"commerce": {
"order": {
"purchaseID": "a8g784hjq1mnp3",
"purchaseOrderNumber": "VAU3123",
"currencyCode": "USD",
"priceTotal": 999.98
}
}
}
});
Il rendering del contenuto personalizzato è asincrono, pertanto non dovrebbe essere previsto se una particolare parte del contenuto fa parte della pagina.
È possibile richiedere la restituzione dell'elenco di decisioni come promessa nel sendEvent
comando specificando l' decisionScopes
opzione. Un ambito è una stringa che consente alla soluzione di personalizzazione di sapere quale decisione si desidera prendere.
alloy("sendEvent",{
xdm:{...},
decisionScopes:['demo-1', 'demo-2']
}).then(function(result){
if (result.decisions){
// Do something with the decisions.
}
});
Questo restituirà un elenco di decisioni come oggetto JSON per ogni decisione.
{
"decisions": [
{
"id": "TNT:123456:0",
"scope": "demo-1",
"items": [
{
"schema": "https://ns.adobe.com/personalization/html-content-item",
"data": {
"id": "11223344",
"content": "<h2 style=\"color: yellow\">Scoped Decision for location \"alloy-location-1\"</h2>"
}
}
]
},
{
"id": "TNT:654321:1",
"scope": "demo-2",
"items": [
{
"schema": "https://ns.adobe.com/personalization/json-content-item",
"data": {
"id": "4433221",
"content": {
"name":"Scoped decision in JSON"
}
}
}
]
}
]
}
Se si utilizza Target, gli ambiti diventano mBox sul server, solo che sono tutti richiesti contemporaneamente invece che individualmente. La mbox globale viene sempre inviata.
Se desiderate che il modulo result.decisions
includa le decisioni di rendering automatico e NON disponga del rendering automatico di ALLEY, potete impostare renderDecisions
su false
e includere l'ambito speciale __view__
.