Context in Edge-uitbreidingsmodules
Alle bibliotheekmodules in randextensies krijgen een context -object wanneer ze worden uitgevoerd. In dit document worden de eigenschappen beschreven die door het context -object worden geboden en de rol die ze spelen in bibliotheekmodules.
Adobe Request-context (boog)
De eigenschap arc 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
Het event -object vertegenwoordigt de gebeurtenis die de regel heeft geactiveerd en bevat de volgende waarden:
logger.log(context.arc.event);
xdmdatarequest
Om niet te worden verward met een aanvraag van het clientapparaat, is request een enigszins gewijzigd object dat afkomstig is van Adobe Experience Platform Edge Network.
logger.log(context.arc.request)
Het request -object heeft twee eigenschappen op hoofdniveau: body en head . De eigenschap body bevat XDM-gegevens (Experience Data Model) en kan in Adobe Experience Platform Debugger worden geïnspecteerd wanneer u naar Launch navigeert en het tabblad Edge Trace selecteert.
ruleStash rulestash
ruleStash is een object dat elk resultaat van actiemodules verzamelt.
logger.log(context.arc.ruleStash);
Elke extensie heeft een eigen naamruimte. Als uw extensie bijvoorbeeld de naam send-beacon heeft, worden alle resultaten van send-beacon -handelingen opgeslagen in de naamruimte ruleStash['send-beacon'] .
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 extensie transform die twee handelingen bevat: generate-fullname en generate-fulladdress . Deze twee acties worden dan toegevoegd aan een regel.
Als het resultaat van de handeling generate-fullname Firstname Lastname is, wordt de regelstreep als volgt weergegeven nadat de handeling is voltooid:
{
transform: 'Firstname Lastname'
}
Als het resultaat van de handeling generate-address 3900 Adobe Way is, wordt de regelstreep als volgt weergegeven nadat de handeling is voltooid:
{
transform: '3900 Adobe Way'
}
U ziet dat "FirstName LastName" niet meer bestaat binnen de regelstash omdat de handeling generate-address deze met een nieuwe waarde heeft overschreven.
Als u wilt dat ruleStash de resultaten van beide handelingen opslaat in de naamruimte transform , kunt u een actiemodule schrijven, vergelijkbaar met 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, begint ruleStash 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. Als u een object gebruikt als ruleStash , kunt u nieuwe gegevens toevoegen zonder dat de gegevens verloren gaan die eerder zijn ingesteld door andere handelingen uit onze extensie.
Hulpmiddelen
De eigenschap utils vertegenwoordigt een object dat hulpprogramma's bevat die specifiek zijn voor de tagruntime.
logger
Het logger nut staat u toe om berichten te registreren die tijdens het zuiveren zittingen wanneer het gebruiken van Adobe Experience Platform Debugger zullen worden getoond.
context.utils.logger.error('Error!');
Het logger heeft de volgende methodes, waar message het bericht is u wilt registreren:
log(message)info(message)warn(message)error(message)debug(message)verbose logboekregistratie is ingeschakeld in uw browserconsole.fetch
Dit nut voert Fetch API uit. 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:
turbineVersionturbineBuildDatebuildDateenvironmentdevelopment , staging en production.In het volgende voorbeeld wordt een getBuildInfo -object getoond 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 nut keert het settings voorwerp terug dat het laatst van de mening van de uitbreidingsconfiguratie werd bewaard.
logger.log(context.utils.getExtensionSettings());
getSettings
Dit hulpprogramma retourneert het settings -object dat het laatst is opgeslagen in de overeenkomende bibliotheekmoduleweergave.
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:
idname