[Alpha]{class="badge informative"}

getIdentity (Server SDK)

このページでは、Server SDK getIdentity メソッドについて説明します。 Web SDKについては、getIdentityを参照してください。

getIdentity メソッドは、イベントデータを送信せずに訪問者のExperience Cloud ID (ECID)を返します。 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を返します。

  1. SDKは、同意によって続行できるかどうかを確認します。 訪問者がオプトアウトした場合、getIdentityは空のオブジェクトで解決されます。
  2. 訪問者のID CookieがforRequestに渡されたcookie サービスを通じて利用できる場合、SDKはAdobeに連絡せずにECIDを読み取ります。
  3. それ以外の場合、SDKはEdge Networkから訪問者のIDをリクエストし、cookie サービスを通じてID Cookieを書き込み、ECIDを返します。

Edge Networkへのリクエストは未認証です。 データストリームが未認証のリクエストを受け入れることを確認します。 ​ データストリーム アクセス タイプの設定を参照してください。

Cookie サービスをforRequestに渡さない場合、SDKは既存のIDを見つけることができないため、各forRequest ハンドルは新しいECIDを取得します。 ​ インスタンスとリクエスト ​を参照してください。

オプション options

getIdentity メソッドは、次のプロパティを持つオプションのオブジェクトを受け入れます。

  • namespaces:返すID名前空間の配列。 サポートされている値は"ECID"と"CORE"です。 デフォルト値は ["ECID"] です。 "CORE"名前空間は、thirdPartyCookiesEnabledがtrueの場合にのみリクエストできます。 それ以外の場合、getIdentityは拒否します。
  • edgeConfigOverrides:この要求に対して​ データストリーム設定がオブジェクト ​を上書きします。

結果オブジェクト result

getIdentity メソッドはpromiseを返します。 解決すると、結果オブジェクトには次のプロパティが含まれます。

  • 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