Toegang krijgen tot reactietokens
De inhoud van Personalization die van Adobe Target is teruggekeerd omvat reactietokens, die details over de activiteit, de aanbieding, de ervaring, het gebruikersprofiel, geo informatie, en meer zijn. Deze details kunnen met derdehulpmiddelen worden gedeeld of voor het zuiveren worden gebruikt. De tokens van de reactie kunnen in het Target gebruikersinterface worden gevormd.
Om tot om het even welke verpersoonlijkingsinhoud toegang te hebben, verstrek een callback functie wanneer het verzenden van een gebeurtenis. Deze callback wordt geroepen nadat de SDK een succesvolle reactie van de server ontvangt. De callback is voorzien van een result
-object dat een propositions
-eigenschap kan bevatten met geretourneerde personalisatie-inhoud. Hieronder ziet u een voorbeeld van een callback-functie.
alloy("sendEvent", {
renderDecisions: true,
xdm: {}
}).then(function(result) {
if (result.propositions) {
// Manually render propositions
}
});
In dit voorbeeld is result.propositions
, indien aanwezig, een array met verpersoonlijkingsvoorstellingen die betrekking hebben op de gebeurtenis. Zie teruggevend verpersoonlijkingsinhoudvoor meer informatie over de inhoud van result.propositions.
Veronderstel u alle activiteitennamen van alle voorstellen wilt verzamelen die automatisch door het Web SDK werden teruggegeven en hen duwen in één enkele serie. Vervolgens kunt u de ene array naar een derde verzenden. In dit geval:
- Extraheer voorstellen uit het
result
-object. - Lijn door elk voorstel.
- Bepaal of de SDK het voorstel heeft weergegeven.
- Als zo, lijn door elk punt in het voorstel.
- Haal de naam van de activiteit op uit de eigenschap
meta
. Dit is een object dat responstokens bevat. - Zet de naam van de activiteit in een array.
- Verzend de namen van de activiteiten naar een derde.
Uw code ziet er als volgt uit:
alloy("sendEvent", {
renderDecisions: true,
xdm: {}
}).then(function(result) {
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.
});