Houten voor Web SDK controleren
De Adobe Experience Platform Web SDK bevat controleluks die u kunt gebruiken om verschillende systeemgebeurtenissen te controleren. Deze hulpmiddelen zijn nuttig om uw eigen het zuiveren hulpmiddelen te ontwikkelen en de logboeken van SDK van het Web te vangen.
Het Web SDK brengt de controlerende functies teweeg ongeacht of u het zuiveren hebt toegelaten.
onInstanceCreated onInstanceCreated
Deze callback functie wordt teweeggebracht wanneer u met succes een nieuwe instantie van SDK van het Web hebt gecreeerd. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onInstanceCreated(data) {
// data.instanceName
// data.instance
}
data.instanceNamedata.instanceonInstanceConfigured onInstanceConfigured
Deze callbackfunctie wordt geactiveerd door de Web SDK wanneer de opdracht configure correct is omgezet. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onInstanceConfigured(data) {
// data.instanceName
// data.config
}
data.instanceNamedata.configconfigure worden doorgegeven en waarbij alle standaardwaarden worden toegevoegd.onBeforeCommand onBeforeCommand
Deze callback functie wordt teweeggebracht door SDK van het Web alvorens een ander bevel wordt uitgevoerd. U kunt deze functie gebruiken om de configuratieopties van een specifiek bevel terug te winnen. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onBeforeCommand(data) {
// data.instanceName
// data.commandName
// data.options
}
data.instanceNamedata.commandNamedata.optionsonCommandResolved onCommandResolved
Deze callback functie wordt teweeggebracht wanneer het oplossen van bevelbeloften. U kunt deze functie gebruiken om de bevelopties en het resultaat te zien. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onCommandResolved(data) {
// data.instanceName
// data.commandName
// data.options
// data.result
},
data.instanceNamedata.commandNamedata.optionsdata.resultonCommandRejected onCommandRejected
Deze callback functie wordt teweeggebracht alvorens een bevelbelofte wordt verworpen en het bevat informatie over de reden waarom het bevel werd verworpen. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onCommandRejected(data) {
// data.instanceName
// data.commandName
// data.options
// data.error
}
data.instanceNamedata.commandNamedata.optionsdata.errorfetch in de meeste gevallen) is teruggekeerd, samen met de reden waarom het bevel werd verworpen.onBeforeNetworkRequest onBeforeNetworkRequest
Deze callback functie wordt teweeggebracht alvorens een netwerkverzoek wordt uitgevoerd. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onBeforeNetworkRequest(data) {
// data.instanceName
// data.requestId
// data.url
// data.payload
}
data.instanceNamedata.requestIdrequestId die door Web SDK wordt gegenereerd om foutopsporing in te schakelen.data.urldata.payloadPOST -methode.onNetworkResponse onNetworkResponse
Deze callback functie wordt teweeggebracht wanneer browser een reactie ontvangt. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onNetworkResponse(data) {
// data.instanceName
// data.requestId
// data.url
// data.payload
// data.body
// data.parsedBody
// data.status
// data.retriesAttempted
}
data.instanceNamedata.requestIdrequestId die door Web SDK wordt gegenereerd om foutopsporing in te schakelen.data.urldata.payloadPOST -methode.data.bodydata.parsedBodydata.statusdata.retriesAttemptedonNetworkError onNetworkError
Deze callback functie wordt teweeggebracht wanneer het netwerkverzoek ontbrak. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onNetworkError(data) {
// data.instanceName
// data.requestId
// data.url
// data.payload
// data.error
},
data.instanceNamedata.requestIdrequestId die door Web SDK wordt gegenereerd om foutopsporing in te schakelen.data.urldata.payloadPOST -methode.data.errorfetch in de meeste gevallen) is teruggekeerd, samen met de reden waarom het bevel werd verworpen.onBeforeLog onBeforeLog
Deze callback functie wordt teweeggebracht alvorens het Web SDK om het even wat aan de console registreert. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onBeforeLog(data) {
// data.instanceName
// data.componentName
// data.level
// data.arguments
}
data.instanceNamedata.componentNamedata.levellog, info, warn, error.data.argumentsonContentRendering onContentRendering
Deze callbackfunctie wordt geactiveerd door de component personalization in verschillende stadia van rendering. De lading kan verschillen, afhankelijk van de status parameter. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onContentRendering(data) {
// data.instanceName
// data.componentName
// data.payload
// data.status
}
data.instanceNamedata.componentNamedata.payloadPOST -methode.data.statusDe component personalization informeert de Web SDK over de status van rendering. Ondersteunde waarden:
rendering-started: Geeft aan dat de Web SDK op het punt staat voorstellingen te renderen. Voordat de Web SDK een beslissingsbereik of een weergave begint te renderen, kunt u in hetdata-object de voorstellingen zien die door depersonalization-component en de bereiknaam worden gerenderd.no-offers: Geeft aan dat er geen payload is ontvangen voor de aangevraagde parameters.rendering-failed: geeft aan dat Web SDK geen voorstel heeft weergegeven.rendering-succeeded: geeft aan dat rendering is voltooid voor een beslissingsbereik.rendering-redirect: geeft aan dat Web SDK een omleidingsvoorstel zal renderen.
onContentHiding onContentHiding
Deze callback-functie wordt geactiveerd wanneer een vooraf verborgen stijl wordt toegepast of verwijderd.
onContentHiding(data) {
// data.instanceName
// data.componentName
// data.status
}
data.instanceNamedata.componentNamedata.statusDe component personalization informeert de Web SDK over de status van rendering. Ondersteunde waarden:
hide-containersshow-containers
Hoe te om controlehaken te specificeren wanneer het gebruiken van het pakket NPM specify-monitoring-npm
Als u het Web SDK door het NPM pakket gebruikt, kunt u controlehaken in de createInstance functie specificeren, zoals hieronder getoond.
var monitor = {
onBeforeCommand(data) {
console.log(data);
},
...
};
var alloyLibrary = require("@adobe/alloy");
var alloy = alloyLibrary.createInstance({ name: "alloy", monitors: [monitor] });
alloy("config", { ... });
alloy("sendEvent", { ... });
Voorbeeld example
De Web SDK zoekt naar een array met objecten in een algemene variabele met de naam __alloyMonitors .
Als u alle Web SDK-gebeurtenissen wilt vastleggen, moet u uw controlemakken definiëren voordat de Web SDK-code op uw pagina wordt geladen. Elke controlemethode vangt een gebeurtenis van SDK van het Web.
U kunt controlehaken bepalen nadat de code van SDK van het Web op uw pagina laadt, maar om het even welke haken die vóór paginading hebben teweeggebracht zullen niet worden gevangen.
Wanneer u het controlehaakvoorwerp bepaalt, moet u slechts de methodes bepalen die u speciale logica voor zou willen bepalen.
Als u bijvoorbeeld alleen om onContentRendering geeft, kunt u gewoon die methode definiëren. U hoeft niet alle controlehaken tegelijk te gebruiken.
U kunt meerdere controlehaakobjecten definiëren. Alle objecten met de opgegeven methode worden aangeroepen wanneer de corresponderende gebeurtenis wordt geactiveerd.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
window.__alloyMonitors = window.__alloyMonitors || [];
window.__alloyMonitors.push({
onInstanceCreated(data) {
// data.instanceName
// data.instance
},
onInstanceConfigured(data) {
// data.instanceName
// data.config
},
onBeforeCommand(data) {
// data.instanceName
// data.commandName
// data.options
},
// Added in version 2.4.0
onCommandResolved(data) {
// data.instanceName
// data.commandName
// data.options
// data.result
},
// Added in version 2.4.0
onCommandRejected(data) {
// data.instanceName
// data.commandName
// data.options
// data.error
},
onBeforeNetworkRequest(data) {
// data.instanceName
// data.requestId
// data.url
// data.payload
},
onNetworkResponse(data) {
// data.instanceName
// data.requestId
// data.url
// data.payload
// data.body
// data.parsedBody
// data.status
// data.retriesAttempted
},
onNetworkError(data) {
// data.instanceName
// data.requestId
// data.url
// data.payload
// data.error
},
onBeforeLog(data) {
// data.instanceName
// data.componentName
// data.level
// data.arguments
}
onContentRendering(data) {
// data.instanceName
// data.componentName
// data.payload
// data.status
},
onContentHiding(data) {
// data.instanceName
// data.componentName
// data.status
}
});
</script>
<script>
!function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
[]).push(o),n[o]=function(){var u=arguments;return new Promise(
function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
(window,["alloy"]);
</script>
<script src="alloy.js" async></script>
</head>
<body>
<h1>Monitor Test</h1>
</body>
</html>