Kontext i kanttilläggsmoduler
Alla biblioteksmoduler i edge-tillägg får ett context
-objekt när de körs. Det här dokumentet innehåller egenskaperna som tillhandahålls av objektet context
och rollen som de spelar i biblioteksmoduler.
Adobe Request Context (arc)
Egenskapen arc
är ett objekt som ger information om händelsen som utlöser regeln. Avsnitten nedan beskriver de olika underegenskaperna som finns i objektet.
event
Objektet event
representerar händelsen som utlöste regeln och innehåller följande värden:
logger.log(context.arc.event);
xdm
data
request
För att inte blandas ihop med en begäran från klientenheten är request
ett något ändrat objekt som kommer från Adobe Experience Platform Edge Network.
logger.log(context.arc.request)
Objektet request
har två toppnivåegenskaper: body
och head
. Egenskapen body
innehåller XDM-information (Experience Data Model) och kan inspekteras i Adobe Experience Platform Debugger när du navigerar till Launch och väljer fliken Edge Trace.
ruleStash rulestash
ruleStash
är ett objekt som samlar in alla resultat från åtgärdsmoduler.
logger.log(context.arc.ruleStash);
Varje tillägg har ett eget namnutrymme. Om tillägget till exempel har namnet send-beacon
kommer alla resultat från send-beacon
-åtgärder att lagras i namnutrymmet ruleStash['send-beacon']
.
Namnutrymmet är unikt för varje tillägg och har värdet undefined
i början.
Namnutrymmet åsidosätts av det returnerade resultatet från varje åtgärd. Ta till exempel ett transform
-tillägg som innehåller två åtgärder: generate-fullname
och generate-fulladdress
. Dessa två åtgärder läggs sedan till i en regel.
Om resultatet av åtgärden generate-fullname
är Firstname Lastname
visas regelstrecket så här när åtgärden har slutförts:
{
transform: 'Firstname Lastname'
}
Om resultatet av åtgärden generate-address
är 3900 Adobe Way
visas regelstrecket så här när åtgärden har slutförts:
{
transform: '3900 Adobe Way'
}
Observera att"Förnamn efternamn" inte längre finns i regelstrecket eftersom åtgärden generate-address
åsidosätter det med ett nytt värde.
Om du vill att ruleStash
ska lagra resultaten från båda åtgärderna i namnutrymmet transform
kan du skriva en åtgärdsmodul som liknar följande exempel:
module.exports = (context) => {
let transformRuleStash = context.arc.ruleStash.transform;
if (!transformRuleStash) {
transformRuleStash = {};
}
transformRuleStash.fullName = 'Firstname Lastname';
return transformRuleStash;
}
Första gången den här åtgärden utförs startar ruleStash
som undefined
och initieras därför som ett tomt objekt. Nästa gång åtgärden körs får den ruleStash
som returnerades när åtgärden anropades tidigare. Om du använder ett objekt som ruleStash
kan du lägga till nya data utan att förlora data som tidigare angetts av andra åtgärder från tillägget.
Verktyg
Egenskapen utils
representerar ett objekt som innehåller verktyg som är specifika för tagghanteringen.
logger
Med verktyget logger
kan du logga meddelanden som ska visas under felsökningssessioner när du använder Adobe Experience Platform Debugger.
context.utils.logger.error('Error!');
Loggaren har följande metoder, där message
är meddelandet som du vill logga:
log(message)
info(message)
warn(message)
error(message)
debug(message)
verbose
-loggning har aktiverats i webbläsarkonsolen.fetch
Det här verktyget implementerar API:t för hämtning. Du kan använda funktionen för att göra förfrågningar till slutpunkter från tredje part.
context.utils.fetch('http://example.com/movies.json')
.then(response => response.json())
getBuildInfo
Det här verktyget returnerar ett objekt som innehåller information om hur det aktuella taggredigeringsbiblioteket byggs.
logger.log(context.utils.getBuildInfo().turbineBuildDate);
Objektet innehåller följande värden:
turbineVersion
turbineBuildDate
buildDate
environment
development
, staging
och production.
Följande är ett exempelobjekt, getBuildInfo
, som demonstrerar de värden som returneras:
{
turbineVersion: "1.0.0",
turbineBuildDate: "2016-07-01T18:10:34Z",
buildDate: "2016-03-30T16:27:10Z",
environment: "development"
}
getExtensionSettings
Det här verktyget returnerar det settings
-objekt som senast sparades från vyn tilläggskonfiguration.
logger.log(context.utils.getExtensionSettings());
getSettings
Det här verktyget returnerar det settings
-objekt som senast sparades från motsvarande biblioteksmodulvy.
logger.log(context.utils.getSettings());
getRule
Det här verktyget returnerar ett objekt som innehåller information om regeln som utlöser modulen.
logger.log(context.utils.getRule());
Objektet kommer att innehålla följande värden:
id
name