[Alpha]{class="badge informative"}
메서드 개요
서버 SDK은 createInstance이(가) 반환하는 개체에 메서드로 기능을 제공합니다. Web SDK을 사용한 경우 이러한 메서드는 Web SDK 명령에 해당하지만 다른 이름으로 호출합니다.
alloy("sendEvent", { xdm })alloy.sendEvent({ xdm })alloy("getIdentity")alloy.getIdentity()웹 SDK은 명령 이름을 문자열로 사용하는 단일 함수를 사용하므로 라이브러리 로드가 완료되기 전에 페이지에서 명령을 대기열에 추가할 수 있습니다. 서버는 요청을 처리하기 전에 라이브러리를 로드하므로 서버 SDK에서는 사용자가 입력할 때 편집기에서 제안하고 확인할 수 있는 일반 메서드를 대신 사용합니다.
사용 가능한 메서드 methods
forRequest 핸들방문자 트래픽의 경우 최상위 인스턴스가 아닌 forRequest 핸들에서 메서드를 호출하십시오. 인스턴스 및 요청을 참조하세요.
결과 처리 results
forRequest을(를) 제외한 모든 메서드가 약속을(를) 반환합니다. 약속이 메서드가 성공하면 결과 개체로 확인되고, 실패하면 Error(으)로 거부됩니다. try...catch에 await을(를) 사용하거나 then 및 catch을(를) 사용합니다.
try {
const result = await visitor.sendEvent({
xdm: {
eventType: "web.webpagedetails.pageViews",
identityMap: {
Email: [{ id: "visitor@example.com", primary: true }]
}
}
});
console.log("Propositions", result.propositions);
} catch (error) {
console.error("sendEvent failed", error.message);
}
결과 개체의 내용은 메서드에 따라 다릅니다. 각 메서드의 페이지는 결과 개체에 대해 설명합니다. setConsent과(와) 같은 일부 메서드는 빈 개체로 확인합니다.
방문자의 동의에 따라서도 결과가 달라집니다. 방문자가 옵트아웃한 경우 sendEvent과(와) 같은 메서드는 Adobe에 아무 것도 보내지 않고 빈 개체로 해결됩니다.
오류 errors
메서드는 특히 다음 경우에 거부됩니다.
- 잘못된 옵션: SDK에서 모든 옵션을 확인한 후 전송합니다. 알 수 없거나 철자가 잘못된 옵션 또는 잘못된 유형의 값은
'bogus': Unknown field과(와) 같이 문제 이름을 지정하는 메시지로 거부합니다. - 인증 실패: SDK에서 액세스 토큰을 가져올 수 없는 경우 메서드가
Failed to acquire an IMS access token을(를) 포함하는 메시지와 함께 거부됩니다. 인증을 참조하세요. - Edge Network 오류: 이벤트에 기본 ID가 없기 때문에 Edge Network이 요청을 거부하는 경우 메서드는 Edge Network이 반환한 오류와 함께 거부합니다.
- 네트워크 오류: 서버가 Adobe에 연결할 수 없는 경우 메서드는 기본 네트워크 오류와 함께 거부됩니다.
forRequest이(가) 약속을 반환하지 않습니다. 핸들을 즉시 반환하거나 configure이(가) 아직 해결되지 않은 경우 오류가 발생합니다.
런타임 및 구성 방법에 따라 처리되지 않은 약속 거부가 서버 프로세스를 중지하거나 요청에 실패할 수 있습니다. SDK 메서드의 거부를 항상 처리하십시오. 이렇게 하면 Adobe으로 데이터를 전송하는 데 문제가 생겨 서버가 방문자에게 보내는 응답이 손상되지 않습니다.