Context in Edge-uitbreidingsmodules
Alle bibliotheekmodules in randextensies worden geleverd met een context
-object wanneer deze worden uitgevoerd. Dit document behandelt de eigenschappen die door context
-object en de rol die ze spelen in bibliotheekmodules.
Context verzoek Adobe (boog)
De arc
eigenschap is een object dat informatie bevat over de gebeurtenis die de regel activeert. In de onderstaande secties worden de verschillende subeigenschappen in dit object besproken.
event
De event
object vertegenwoordigt de gebeurtenis die de regel heeft geactiveerd en bevat de volgende waarden:
logger.log(context.arc.event);
xdm
data
request
niet worden verward met een verzoek van het clientapparaat; request
is een enigszins gewijzigd object dat afkomstig is van Adobe Experience Platform Edge Network.
logger.log(context.arc.request)
De request
object heeft twee eigenschappen op hoofdniveau: body
en head
. De body
eigenschap bevat XDM-informatie (Experience Data Model) en kan worden gecontroleerd in Adobe Experience Platform Debugger wanneer u navigeert naar Launch en selecteert u de Edge Trace tab.
ruleStash rulestash
ruleStash
is een object dat elk resultaat van actiemodules zal verzamelen.
logger.log(context.arc.ruleStash);
Elke extensie heeft een eigen naamruimte. Als uw extensie bijvoorbeeld de naam heeft send-beacon
alle resultaten van send-beacon
acties worden opgeslagen op de ruleStash['send-beacon']
naamruimte.
De naamruimte is uniek voor elke extensie en heeft de waarde undefined
aan het begin.
De naamruimte wordt overschreven door het geretourneerde resultaat van elke actie. Neem bijvoorbeeld een transform
extensie met twee acties: generate-fullname
en generate-fulladdress
. Deze twee acties worden dan toegevoegd aan een regel.
Indien het resultaat van de generate-fullname
handeling is Firstname Lastname
Vervolgens ziet de regelstash er als volgt uit nadat de handeling is voltooid:
{
transform: 'Firstname Lastname'
}
Indien het resultaat van de generate-address
handeling is 3900 Adobe Way
Vervolgens ziet de regelstash er als volgt uit nadat de handeling is voltooid:
{
transform: '3900 Adobe Way'
}
U ziet dat "FirstName LastName" niet langer bestaat binnen de regelstash omdat de optie generate-address
actie heeft er een nieuwe waarde aan toegevoegd .
Als u ruleStash
om de resultaten van beide handelingen op te slaan in het dialoogvenster transform
naamruimte, kunt u uw actiemodule schrijven, net als in het volgende voorbeeld:
module.exports = (context) => {
let transformRuleStash = context.arc.ruleStash.transform;
if (!transformRuleStash) {
transformRuleStash = {};
}
transformRuleStash.fullName = 'Firstname Lastname';
return transformRuleStash;
}
De eerste keer dat deze handeling wordt uitgevoerd, ruleStash
begint als undefined
en wordt daarom geïnitialiseerd als een leeg object. De volgende keer dat de handeling wordt uitgevoerd, ontvangt deze ruleStash
die werd geretourneerd toen de handeling eerder werd aangeroepen. Een object gebruiken als ruleStash
kunt u nieuwe gegevens toevoegen zonder gegevens te verliezen die eerder zijn ingesteld door andere handelingen uit onze extensie.
Hulpmiddelen
De utils
Deze eigenschap vertegenwoordigt een object dat hulpprogramma's bevat die specifiek zijn voor de tagruntime.
logger
De logger
Het nut staat u toe om berichten te registreren die tijdens het zuiveren zittingen wanneer het gebruiken zullen worden getoond Adobe Experience Platform Debugger.
context.utils.logger.error('Error!');
De registreermachine heeft de volgende methodes, waar message
is het bericht u wilt registreren:
log(message)
info(message)
warn(message)
error(message)
debug(message)
verbose
het registreren wordt toegelaten binnen uw browser console.fetch
Dit hulpprogramma implementeert de Ophalen-API. U kunt de functie gebruiken om verzoeken aan derdeeindpunten te doen.
context.utils.fetch('http://example.com/movies.json')
.then(response => response.json())
getBuildInfo
Dit hulpprogramma retourneert een object dat informatie bevat over de build van de huidige tagruntimebibliotheek.
logger.log(context.utils.getBuildInfo().turbineBuildDate);
Het object bevat de volgende waarden:
turbineVersion
turbineBuildDate
buildDate
environment
development
, staging
, en production.
Hier volgt een voorbeeld getBuildInfo
object om de geretourneerde waarden aan te tonen:
{
turbineVersion: "1.0.0",
turbineBuildDate: "2016-07-01T18:10:34Z",
buildDate: "2016-03-30T16:27:10Z",
environment: "development"
}
getExtensionSettings
Dit hulpprogramma retourneert de settings
object dat het laatst is opgeslagen in het menu extensieconfiguratie weergeven.
logger.log(context.utils.getExtensionSettings());
getSettings
Dit hulpprogramma retourneert de settings
object dat het laatst is opgeslagen in de bijbehorende bibliotheekmodule-weergave.
logger.log(context.utils.getSettings());
getRule
Dit nut keert een voorwerp terug dat informatie over de regel bevat die de module teweegbrengt.
logger.log(context.utils.getRule());
Het object bevat de volgende waarden:
id
name