このページでは、Server SDK setConsent メソッドについて説明します。 Web SDKについては、setConsentを参照してください。
setConsent メソッドは、Server SDKに対して、訪問者にデータを送信できるか(オプトイン)または破棄する(オプトアウト)かを指示します。 SDKは訪問者の環境設定をEdge Networkに送信し、その結果をforRequestに渡すcookie サービスを通じてkndctr_<orgId>_consent cookieに保存します。
SDKでは、次の同意基準がサポートされています。
- Adobe standard: バージョン 1.0および2.0。
- IAB Transparency & Consent Framework (TCF): バージョン 2.0。
このメソッドは、インスタンスに同意コンポーネントが含まれている場合にのみ使用できます。このコンポーネントは、createInstanceにデフォルトで含まれています。
訪問者のsetConsentの呼び出し call
同意は1人の訪問者に属しているため、常にその訪問者のforRequest ハンドルでsetConsentを呼び出します。トップレベルのインスタンスでは呼び出しません。 次の例では、Adobe 2.0標準を使用しています。
const visitor = alloy.forRequest({ request: req, cookie: visitorCookies });
await visitor.setConsent({
consent: [{
standard: "Adobe",
version: "2.0",
value: {
collect: { val: "y" }
}
}]
});
次の例では、Adobe 1.0標準を使用しています。
await visitor.setConsent({
consent: [{
standard: "Adobe",
version: "1.0",
value: { general: "in" }
}]
});
次の例では、IAB TCF 2.0標準を使用しています。
await visitor.setConsent({
consent: [{
standard: "IAB TCF",
version: "2.0",
value: "CO052l-O052l-DGAMBFRACBgAIBAAAAAAIYgEawAQEagAAAA",
gdprApplies: true
}]
});
IAB TCF標準を使用し、訪問者のプロファイルに同意データを必要とする場合は、イベント xdm オブジェクトにもIAB同意情報を含めます。 SDKでは、イベントに自動的に追加することはありません。
同意の記憶方法 stored-consent
SDKは、forRequestに渡すcookie サービスを通じて同意Cookieを読み取り、書き込みます。
- お客様のcookie サービスが訪問者のブラウザーcookieを読み取る場合、以前に記録された訪問者がWeb SDKを使用するサーバー上またはブラウザーに既に適用されることに同意します。 訪問者の環境設定が変更されるまで、
setConsentに再度電話する必要はありません。 - Cookie サービスを渡さない場合、SDKはリクエスト間の同意を記憶できません。 各リクエストは
defaultConsentから開始します。
SDKは、既に訪問者に同じ環境設定を送信している場合、リクエストをスキップします。 storage サービスを通じて送信された環境設定を追跡するので、このチェックは、その訪問者のstorage サービス をforRequestに渡す場合にのみ、リクエスト間で機能します。 この機能を使用しない場合、訪問者の環境設定が変更されていない場合でも、各呼び出しでEdge Networkにリクエストが送信されます。 すべてのリクエストではなく、訪問者が同意を選択または変更した場合は、setConsentに電話してください。
リクエストは未認証です。 データストリームが未認証のリクエストを受け入れることを確認します。 データストリーム アクセス タイプの設定を参照してください。
オプション options
setConsent メソッドは、次のプロパティを持つオブジェクトを受け入れます。
consent:必須。 サポートされているいずれかの標準の同意オブジェクトの配列。identityMap:訪問者のID マップ。 Edge Networkはデバイスレベルで同意を適用するため、このマップのECIDのみを使用します。edgeConfigOverrides:この要求に対して データストリーム設定がオブジェクト を上書きします。
結果オブジェクト result
setConsent メソッドは、Edge Networkが同意設定を受け入れたときに、空のオブジェクトで解決されるプロミスを返します。