De haken van de controle voor Web SDK
De SDK van het Web van Adobe Experience Platform omvat controlemaakjes die u kunt gebruiken om diverse 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.
SDK van het Web brengt de controlerende functies teweeg ongeacht of u het zuiverenhebt 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.instanceName
data.instance
onInstanceConfigured
onInstanceConfigured
Deze callback functie wordt teweeggebracht door het Web SDK wanneer het configure
bevel met succes wordt opgelost. Zie het voorbeeld hieronder voor meer informatie over de functieparameters.
onInstanceConfigured(data) {
// data.instanceName
// data.config
}
data.instanceName
data.config
configure
worden doorgegeven en waarbij alle standaardwaarden worden toegevoegd.onBeforeCommand
onBeforeCommand
Deze callback functie wordt teweeggebracht door Web SDK 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.instanceName
data.commandName
data.options
onCommandResolved
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.instanceName
data.commandName
data.options
data.result
onCommandRejected
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.instanceName
data.commandName
data.options
data.error
fetch
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.instanceName
data.requestId
requestId
die door Web SDK wordt gegenereerd om foutopsporing in te schakelen.data.url
data.payload
POST
-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.instanceName
data.requestId
requestId
die door Web SDK wordt gegenereerd om foutopsporing in te schakelen.data.url
data.payload
POST
-methode.data.body
data.parsedBody
data.status
data.retriesAttempted
onNetworkError
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.instanceName
data.requestId
requestId
die door Web SDK wordt gegenereerd om foutopsporing in te schakelen.data.url
data.payload
POST
-methode.data.error
fetch
in de meeste gevallen) is teruggekeerd, samen met de reden waarom het bevel werd verworpen.onBeforeLog
onBeforeLog
Deze callback functie wordt teweeggebracht alvorens SDK van het Web 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.instanceName
data.componentName
data.level
log
, info
, warn
, error
.data.arguments
onContentRendering
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.instanceName
data.componentName
data.payload
POST
-methode.data.status
De 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 SDK van het Web een beslissingsbereik of een weergave begint te renderen, kunt u in hetdata
-object de voorstellingen zien die op het punt staan te worden gerenderd door de componentpersonalization
en de naam van het bereik.no-offers
: Geeft aan dat er geen payload is ontvangen voor de aangevraagde parameters.rendering-failed
: geeft aan dat de Web SDK er niet in is geslaagd een voorstel te renderen.rendering-succeeded
: geeft aan dat rendering is voltooid voor een beslissingsbereik.rendering-redirect
: Geeft aan dat Web SDK een omleidingsvoorstel rendert.
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.instanceName
data.componentName
data.status
De component personalization
informeert de Web SDK over de status van rendering. Ondersteunde waarden:
hide-containers
show-containers
Hoe te om controlehaken te specificeren wanneer het gebruiken van het pakket NPM specify-monitoris-npm
Als u SDK van het Web door het NPM pakketgebruikt, kunt u controlehaken in de createInstasnce
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 SDK van het Web zoekt naar een serie van voorwerpen in een globale variabele genoemd __alloyMonitors
.
Om alle gebeurtenissen van SDK van het Web te vangen, moet u uw controlehaken bepalen alvorens de code van SDK van het Web 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>