[Alpha]{class="badge informative"}
方法概述
服务器SDK提供其功能作为对createInstance返回的对象的方法。 如果您使用的是Web SDK,则这些方法与Web SDK命令相对应,但调用这些命令的方式有所不同:
Web SDK(浏览器)
服务器SDK
alloy("sendEvent", { xdm })alloy.sendEvent({ xdm })alloy("getIdentity")alloy.getIdentity()Web SDK使用一个函数,该函数将命令名称作为字符串,这样页面就可以在库完成加载之前对命令进行排队。 服务器在处理任何请求之前加载库,因此服务器SDK会改用常规方法,编辑者可以在键入时建议和检查这些方法。
可用方法 methods
方法
描述
顶级实例
forRequest句柄对于访客流量,请对forRequest句柄而不是顶级实例调用方法。 查看实例和请求。
处理结果 results
除forRequest之外的每个方法都返回promise。 当方法成功时,promise使用结果对象解析;当方法失败时,使用Error拒绝。 将await与try...catch一起使用,或使用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错误:如果Edge Network拒绝请求(例如,由于事件没有主标识),则该方法将拒绝,并返回Edge Network返回的错误。
- 网络故障:如果您的服务器无法访问Adobe,则方法会拒绝并显示基础网络错误。
forRequest不返回承诺。 它立即返回一个句柄,如果configure尚未解析,则会引发错误。
根据您的运行时及其配置方式,未处理的Promise拒绝可能会停止您的服务器进程或使请求失败。 始终处理来自SDK方法的拒绝事件,以便向Adobe发送数据时产生的问题不会破坏您的服务器向访客发送的响应。
recommendation-more-help
experience-platform-help-collection