このページでは、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を返します。
- SDKは、同意によって続行できるかどうかを確認します。 訪問者がオプトアウトした場合、
getIdentityは空のオブジェクトで解決されます。 - 訪問者のID Cookieが
forRequestに渡されたcookie サービスを通じて利用できる場合、SDKはAdobeに連絡せずにECIDを読み取ります。 - それ以外の場合、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