documentUnloading(웹 SDK)
documentUnloading 속성을 사용하면 브라우저의 sendBeacon 메서드를 사용하여 데이터를 Adobe으로 보낼 수 있습니다. 이 메서드는 JavaScript 언어 자체가 아니라 브라우저의 웹 API의 일부입니다. 일반적인 요청이 너무 오래 걸리는 경우 브라우저가 요청을 취소할 수 있습니다. 웹 SDK에 sendBeacon을(를) 사용하도록 요청하면 페이지에서 멀어진 후 요청이 백그라운드에서 실행됩니다. 데이터 요청을 언로드할 때 브라우저가 취소하지 않도록 하려면 이 속성을 활성화하십시오.
웹 SDK에서는 방문자 ID가 설정된 후에만 sendBeacon을(를) 사용합니다. ID를 설정하기 전에(예를 들어 새 방문자의 첫 번째 이벤트에서) Web SDK은 fetch을(를) 사용하여 Edge Network에 이벤트를 보내어 응답에서 ID를 받을 수 있도록 합니다. 버전 2.36.1부터 이 fetch 요청에서는 keepalive 옵션을 사용하므로 방문자가 페이지를 떠나더라도 브라우저에서 요청 전송을 완료합니다.
일부 브라우저에서는 한 번에 sendBeacon을(를) 사용하여 전송할 수 있는 데이터 양에 64KB의 제한을 적용합니다. keepalive을(를) 사용하는 fetch개의 요청에도 동일한 제한이 적용됩니다. 페이로드가 너무 크기 때문에 브라우저가 이벤트를 거부하면 웹 SDK은 일반적인 전송 메서드를 사용하는 것으로 돌아갑니다. 주어진 브라우저에서 더 큰 페이로드를 허용하더라도 Adobe 데이터 수집 서버는 페이로드를 64KB까지 잘라냅니다.
sendEvent 명령을 실행할 때 documentUnloading 부울을 설정합니다. 기본값은 false입니다. sendBeacon 메서드를 사용하여 Adobe으로 데이터를 전송하려면 이 속성을 true(으)로 설정하십시오.
alloy("sendEvent", {
"xdm": adobeDataLayer.getState(reference),
"documentUnloading": true
});
documentUnloading(으)로 보낸 이벤트 유효성 검사 validate
sendBeacon 요청이 완료되기 전에 페이지가 탐색되는 경우 브라우저에서 요청을 계속 전송하는 경우에도 Chrome 개발자 도구는 요청(유형 ping)을 (취소됨)(으)로 표시할 수 있습니다. keepalive과(와) 함께 fetch을(를) 사용하여 보낸 요청이 같은 방식으로 취소된 것으로 표시될 수 있습니다. 이 레이블만으로는 데이터 손실 여부를 확인하지 않습니다.
웹 SDK 디버그 로그에서도 게재를 확인할 수 없습니다. 브라우저는 sendBeacon 요청에 대한 응답을 반환하지 않으므로 로그에는 웹 SDK이 sendBeacon을(를) 사용하여 요청을 보냈다는 것만 표시됩니다.
탐색을 재생하기 전에 검사 도구를 엽니다. 캡처된 서버 응답을 찾거나 연결된 Edge 추적/Assurance 세션에서 Edge Network의 수신 요청을 찾습니다. 공유 검사 워크플로우 및 증거 제한에 대해서는 중단된 요청을 참조하십시오. Edge 수신 확인은 그 자체로 다운스트림 처리를 수립하지 않습니다.
이벤트가 손실될 수 있는 시기 data-loss
documentUnloading 속성은 페이지를 언로드할 때 웹 SDK에서 아직 보내지 않은 이벤트를 처리할 수 없습니다. 예를 들어, Web SDK은 동의가 pending인 동안 이벤트를 보관하거나(defaultConsent 참조), 진행 중인 ID 요청이 완료될 때까지 기다리는 동안 이벤트를 보관합니다. 두 번째 경우 디버그 로그에 Delaying request while retrieving ECID from server.이(가) 표시됩니다.
웹 SDK 태그 확장을 사용하여 문서 언로드
Web SDK 태그 확장을 사용할 때 이벤트 보내기 작업을 구성할 때 문서가 언로드됩니다 확인란을 사용할 수 있습니다.