이 페이지에서는 Server SDK getIdentity 메서드를 설명합니다. 웹 SDK에 대해서는 getIdentity.을(를) 참조하십시오.
getIdentity 메서드는 이벤트 데이터를 보내지 않고 방문자의 ECID(Experience Cloud ID)를 반환합니다. sendEvent을(를) 호출하면 Edge Network에서 방문자의 ID를 자동으로 설정하므로 서버에 ECID 자체가 필요한 경우에만 getIdentity을(를) 사용합니다. 예를 들어 자체 레코드와 함께 ECID를 저장하거나 다른 시스템에 전달하는 데 사용합니다.
방문자의 forRequest 핸들에서 getIdentity 호출:
const visitor = alloy.forRequest({ request: req, cookie: visitorCookies });
const result = await visitor.getIdentity({
namespaces: ["ECID"]
});
console.log(result.identity.ECID);
SDK에서는 다음 흐름을 사용하여 ECID를 반환합니다.
- SDK은 동의가 진행을 허용하는지 확인합니다. 방문자가 옵트아웃한 경우
getIdentity은(는) 빈 개체로 확인됩니다. forRequest에 전달한 쿠키 서비스를 통해 방문자의 ID 쿠키를 사용할 수 있는 경우 SDK은 Adobe에 연결하지 않고 해당 쿠키에서 ECID를 읽습니다.- 그렇지 않으면 SDK이 Edge Network에서 방문자의 ID를 요청하고, 쿠키 서비스를 통해 ID 쿠키를 쓰고, ECID를 반환합니다.
Edge Network에 대한 요청이 인증되지 않았습니다. 데이터 스트림이 인증되지 않은 요청을 수락하는지 확인하십시오. 데이터 스트림 액세스 형식 설정을 참조하십시오.
forRequest에 쿠키 서비스를 전달하지 않으면 SDK에서 기존 ID를 찾을 수 없으므로 각 forRequest 핸들이 새 ECID를 받습니다. 인스턴스 및 요청을 참조하세요.
옵션 options
getIdentity 메서드는 다음 속성을 갖는 선택적 개체를 허용합니다.
namespaces: 반환할 ID 네임스페이스의 배열입니다. 지원되는 값은"ECID"및"CORE"입니다. 기본값은["ECID"]입니다.thirdPartyCookiesEnabled이(가)true인 경우에만"CORE"네임스페이스를 요청할 수 있습니다. 그렇지 않으면getIdentity이(가) 거부합니다.edgeConfigOverrides: 이 요청에 대한 데이터스트림 구성 재정의 개체입니다.
결과 개체 result
getIdentity 메서드가 약속을 반환합니다. 문제가 해결되면 결과 개체에 다음 속성이 포함됩니다.
identity.ECID: 방문자의 ECID가 포함된 문자열입니다.identity.CORE:CORE네임스페이스를 요청한 경우 방문자의 CORE ID가 포함된 문자열입니다.edge.regionId: 요청을 처리한 Edge Network 지역을 식별하는 정수입니다. 이 속성은 SDK이 ID를 얻기 위해 Edge Network에 연락한 경우에만 표시됩니다.
const { identity } = await visitor.getIdentity();
console.log(identity.ECID);
recommendation-more-help
experience-platform-help-collection