Övervaka kopplingar för Web SDK
Adobe Experience Platform Web SDK innehåller övervakningskopplingar som du kan använda för att övervaka olika systemhändelser. De här verktygen är användbara när du vill utveckla egna felsökningsverktyg och hämta Web SDK-loggar.
Web SDK utlöser övervakningsfunktionerna oavsett om du har aktiverat felsökning eller inte.
onInstanceCreated
onInstanceCreated
Den här återanropsfunktionen aktiveras när du har skapat en ny Web SDK-instans. I exemplet nedan finns mer information om funktionsparametrarna.
onInstanceCreated(data) {
// data.instanceName
// data.instance
}
data.instanceName
data.instance
onInstanceConfigured
onInstanceConfigured
Den här återanropsfunktionen aktiveras av Web SDK när kommandot configure
har lösts. I exemplet nedan finns mer information om funktionsparametrarna.
onInstanceConfigured(data) {
// data.instanceName
// data.config
}
data.instanceName
data.config
configure
med alla standardvärden tillagda.onBeforeCommand
onBeforeCommand
Den här återanropsfunktionen aktiveras av Web SDK innan något annat kommando körs. Du kan använda den här funktionen för att hämta konfigurationsalternativen för ett specifikt kommando. I exemplet nedan finns mer information om funktionsparametrarna.
onBeforeCommand(data) {
// data.instanceName
// data.commandName
// data.options
}
data.instanceName
data.commandName
data.options
onCommandResolved
onCommandResolved
Den här återanropsfunktionen aktiveras när kommandotolken löses. Du kan använda den här funktionen för att se kommandoalternativen och resultatet. I exemplet nedan finns mer information om funktionsparametrarna.
onCommandResolved(data) {
// data.instanceName
// data.commandName
// data.options
// data.result
},
data.instanceName
data.commandName
data.options
data.result
onCommandRejected
onCommandRejected
Den här återanropsfunktionen aktiveras innan ett kommandolöfte avvisas och den innehåller information om varför kommandot avvisades. I exemplet nedan finns mer information om funktionsparametrarna.
onCommandRejected(data) {
// data.instanceName
// data.commandName
// data.options
// data.error
}
data.instanceName
data.commandName
data.options
data.error
fetch
i de flesta fall), tillsammans med orsaken till varför kommandot avvisades.onBeforeNetworkRequest
onBeforeNetworkRequest
Den här återanropsfunktionen aktiveras innan en nätverksbegäran körs. I exemplet nedan finns mer information om funktionsparametrarna.
onBeforeNetworkRequest(data) {
// data.instanceName
// data.requestId
// data.url
// data.payload
}
data.instanceName
data.requestId
requestId
som genererats av Web SDK för att aktivera felsökning.data.url
data.payload
POST
-metod.onNetworkResponse
onNetworkResponse
Den här återanropsfunktionen aktiveras när webbläsaren får ett svar. I exemplet nedan finns mer information om funktionsparametrarna.
onNetworkResponse(data) {
// data.instanceName
// data.requestId
// data.url
// data.payload
// data.body
// data.parsedBody
// data.status
// data.retriesAttempted
}
data.instanceName
data.requestId
requestId
som genererats av Web SDK för att aktivera felsökning.data.url
data.payload
POST
-metod.data.body
data.parsedBody
data.status
data.retriesAttempted
onNetworkError
onNetworkError
Den här återanropsfunktionen aktiveras när nätverksbegäran misslyckas. I exemplet nedan finns mer information om funktionsparametrarna.
onNetworkError(data) {
// data.instanceName
// data.requestId
// data.url
// data.payload
// data.error
},
data.instanceName
data.requestId
requestId
som genererats av Web SDK för att aktivera felsökning.data.url
data.payload
POST
-metod.data.error
fetch
i de flesta fall), tillsammans med orsaken till varför kommandot avvisades.onBeforeLog
onBeforeLog
Den här återanropsfunktionen aktiveras innan Web SDK loggar något till konsolen. I exemplet nedan finns mer information om funktionsparametrarna.
onBeforeLog(data) {
// data.instanceName
// data.componentName
// data.level
// data.arguments
}
data.instanceName
data.componentName
data.level
log
, info
, warn
, error
.data.arguments
onContentRendering
onContentRendering
Den här återanropsfunktionen aktiveras av komponenten personalization
i olika återgivningsfaser. Nyttolasten kan variera beroende på parametern status
. I exemplet nedan finns mer information om funktionsparametrarna.
onContentRendering(data) {
// data.instanceName
// data.componentName
// data.payload
// data.status
}
data.instanceName
data.componentName
data.payload
POST
-metod.data.status
Komponenten personalization
meddelar Web SDK om återgivningsstatus. Värden som stöds:
rendering-started
: Anger att Web SDK håller på att återge förslag. Innan Web SDK börjar återge ett beslutsområde eller en vy kan du i objektetdata
se de förslag som ska återges av komponentenpersonalization
och scopenamnet.no-offers
: Anger att ingen nyttolast har tagits emot för de begärda parametrarna.rendering-failed
: Anger att Web SDK inte kunde återge ett förslag.rendering-succeeded
: Anger att återgivningen har slutförts för ett beslutsområde.rendering-redirect
: Anger att Web SDK återger ett omdirigeringsförslag.
onContentHiding
onContentHiding
Den här återanropsfunktionen aktiveras när ett fördolt format används eller tas bort.
onContentHiding(data) {
// data.instanceName
// data.componentName
// data.status
}
data.instanceName
data.componentName
data.status
Komponenten personalization
meddelar Web SDK om återgivningsstatus. Värden som stöds:
hide-containers
show-containers
Ange övervakningskopplingar när NPM-paketet används specify-monitoris-npm
Om du använder Web SDK via NPM-paketet kan du ange övervakningskopplingar i funktionen createInstasnce
enligt nedan.
var monitor = {
onBeforeCommand(data) {
console.log(data);
},
...
};
var alloyLibrary = require("@adobe/alloy");
var alloy = alloyLibrary.createInstance({ name: "alloy", monitors: [monitor] });
alloy("config", { ... });
alloy("sendEvent", { ... });
Exempel example
Web SDK söker efter en array med objekt i en global variabel som heter __alloyMonitors
.
Om du vill hämta alla Web SDK-händelser måste du definiera övervakningsböckerna innan Web SDK-koden läses in på sidan. Varje övervakningsmetod hämtar en Web SDK-händelse.
Du kan definiera övervakningskopplingar efter att Web SDK-kod har lästs in på sidan, men eventuella kopplingar som har utlösts före sidinläsning hämtas inte.
När du definierar ett övervakningsobjekt behöver du bara definiera de metoder som du vill definiera en speciell logik för.
Om du till exempel bara bryr dig om onContentRendering
kan du bara definiera den metoden. Du behöver inte använda alla övervakningskopplingar samtidigt.
Du kan definiera flera övervakningsanslutna kromobjekt. Alla objekt med den angivna metoden anropas när motsvarande händelse aktiveras.
<!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>