[Alpha]{class="badge informative"}

thirdPartyCookiesEnabled (服务器SDK)

本页介绍了Server SDK configure方法中的thirdPartyCookiesEnabled。 对于Web SDK,请参阅thirdPartyCookiesEnabled.

thirdPartyCookiesEnabled属性确定Server SDK是否使用Adobe Audience Manager第三方域adobedc.demdex.net来帮助识别访客。 它还控制您是否可以请求访客的核心ID。

此属性在服务器上的工作方式 how-it-works

在浏览器中,Web SDK使用第三方域读取和设置demdex.net上的Cookie,这有助于跨域识别访客。 在服务器上,请求直接从您的服务器发送到Adobe,因此它们从不携带访客的demdex.net Cookie,而Adobe在响应中设置的任何demdex.net Cookie永远不会到达访客的浏览器。

当thirdPartyCookiesEnabled为true时(默认):

  • 访客的第一个未经身份验证的请求(来自getIdentity、appendIdentityToUrl或setConsent)将转至adobedc.demdex.net,而不是edgeDomain。
  • SDK会要求Edge Network提供ECID和CORE ID。
  • 您可以使用getIdentity请求CORE命名空间。 由于请求不带有访客的demdex.net Cookie,因此服务器收到的核心ID可能与访客浏览器中的核心ID不匹配。

当thirdPartyCookiesEnabled为false时:

  • 所有未经身份验证的请求都转到edgeDomain。
  • SDK仅向Edge Network请求ECID。
  • 请求包含getIdentity的CORE命名空间会因错误而拒绝。

此属性不影响sendEvent发送事件的位置。 SDK始终会将事件发送到经过身份验证的Edge Network服务器API。

除非您需要核心ID,否则请考虑将thirdPartyCookiesEnabled设置为false,以便所有请求都转到您配置的edgeDomain。

代码示例

调用configure时设置thirdPartyCookiesEnabled布尔值。 如果省略,则默认为true。

await alloy.configure({
  datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
  orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg",
  edgeCredentials: {
    clientId: process.env.ADOBE_CLIENT_ID,
    clientSecret: process.env.ADOBE_CLIENT_SECRET,
    scopes: process.env.ADOBE_SCOPES.split(",")
  },
  thirdPartyCookiesEnabled: false
});
recommendation-more-help
experience-platform-help-collection