documentUnloading (Web SDK)
Mit der documentUnloading-Eigenschaft können Sie die sendBeacon-Methode des Browsers verwenden, um Daten an Adobe zu senden. Diese Methode ist Teil der Web-APIs des Browsers, nicht der JavaScript-Sprache selbst. Wenn eine typische Anfrage zu lange dauert, kann der Browser die Anfrage abbrechen. Sie können Web SDK anweisen, sendBeacon zu verwenden, damit die Anfrage im Hintergrund ausgeführt wird, nachdem Sie die Seite verlassen haben. Aktivieren Sie diese Eigenschaft, um zu verhindern, dass Datenanfragen beim Entladen vom Browser abgebrochen werden.
Web SDK verwendet sendBeacon erst, nachdem eine Besucheridentität hergestellt wurde. Bevor eine Identität hergestellt wird (z. B. beim ersten Ereignis eines neuen Besuchers), sendet Web SDK das Ereignis mithilfe von fetch an die Edge Network, damit sie die Identität in der Antwort empfangen kann. Ab Version 2.36.1 verwenden diese fetch die Option keepalive , damit der Browser den Versand der Anfrage auch dann abschließt, wenn der Besucher die Seite verlässt.
In verschiedenen Browsern ist die Datenmenge, die mit sendBeacon gleichzeitig gesendet werden kann, auf 64 KB beschränkt. Dasselbe Limit gilt für fetch Anfragen, die keepalive verwenden. Wenn der Browser das Ereignis ablehnt, weil die Payload zu groß ist, greift der Web SDK auf die Verwendung seiner normalen Transportmethode zurück. Selbst wenn ein bestimmter Browser größere Payloads zulässt, reduzieren Adobe-Datenerfassungs-Server Payloads auf 64 KB.
Legen Sie beim Ausführen des sendEvent-Befehls den booleschen Wert documentUnloading fest. Der Standardwert lautet false. Legen Sie diese Eigenschaft auf true fest, wenn Sie die sendBeacon-Methode zum Senden von Daten an Adobe verwenden möchten.
documentUnloading-Eigenschaft ist mit der renderDecisions-Eigenschaft nicht kompatibel. Vermeiden Sie es, beide Eigenschaften gleichzeitig auf true zu setzen.alloy("sendEvent", {
"xdm": adobeDataLayer.getState(reference),
"documentUnloading": true
});
Validieren von Ereignissen, die mit documentUnloading gesendet werden validate
Wenn die Seite wegnavigiert, bevor eine sendBeacon abgeschlossen ist, können die Chrome-Entwicklertools die Anfrage (Typ ping) als (abgebrochen) anzeigen selbst wenn der Browser sie weiterhin sendet. Anfragen, die mit fetch mit keepalive gesendet werden, können auf die gleiche Weise als abgebrochen angezeigt werden. Mit dieser Kennzeichnung allein lässt sich nicht feststellen, ob Daten verloren gegangen sind.
Die Bereitstellung kann auch in den Web SDK-Debug-Protokollen nicht bestätigt werden. Browser geben keine Antwort auf sendBeacon Anfragen zurück. Daher wird im Protokoll nur angezeigt, dass Web SDK die Anfrage mit sendBeacon gesendet hat.
Öffnen Sie ein Inspektionswerkzeug, bevor Sie die Navigation wiedergeben. Suchen Sie nach einer erfassten Serverantwort oder, in einer verbundenen Edge Trace/Assurance-Sitzung, nach der eingehenden Anforderung in der Edge Network. Siehe Abgebrochene Anfragen für den freigegebenen Inspektions-Workflow und seine Beweisbeschränkungen. Die Bestätigung des Edge-Empfangs stellt für sich allein keine nachgelagerte Verarbeitung dar.
Wann Ereignisse verloren gehen können data-loss
Die documentUnloading-Eigenschaft kann nicht bei Ereignissen helfen, die Web SDK noch nicht gesendet hat, wenn die Seite entladen wird. Beispielsweise speichert Web SDK Ereignisse, während das Einverständnis pending wird (siehe defaultConsent) oder während es auf den Abschluss einer laufenden Identitätsanfrage wartet. Im zweiten Fall zeigt das Debug-Protokoll Delaying request while retrieving ECID from server. an
Dokument-Upload mithilfe der Tag-Erweiterung „Web SDK"
Das Kontrollkästchen Dokument wird entladen ist verfügbar, wenn eine Ereignis senden-Aktion mithilfe der Tag-Erweiterung von Web SDK konfiguriert wird.