取引先担当者の追跡同意の選択肢を管理する

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

IConsentManagerサービスを使用して、コンテキストWebサイトに対する同意の付与、取り消し、およびコンタクトの同意選択の取得を行うことができます。

大事な

Sitecore.Analytics.Tracking.Identification.IContactIdentificationManager一時的なサービスです。

var consentManager = Sitecore.DependencyInjection.ServiceLocator.ServiceProvider.GetRequiredService<Sitecore.Analytics.Tracking.Consent.IConsentManager>();
メモ

<name of a service>Sitecore.Context.Siteに依存し、使用可能なコンテキストで解決する必要があります。

ウェブサイトで明示的なトラッキングが必要な場合、コンタクトは、Cookie同意バナーのボタンをクリックするなどして 同意するまで トラッキングされません。

手記

コンタクトの同意選択を他のコンテキストで管理するには、xConnectクライアントAPIを使用してConsentInformationファセットを更新します。たとえば、コール センターの従業員が電話で連絡先の同意の選択肢を更新できるユーザー インターフェイスを実装できます。

同意の選択肢の追跡は、xConnectのSitecore.XConnect.Collection.Model.ConsentInformationコンタクト ファセット に保存されます。このファセットは、同意の選択肢が格納されるConsentsディクショナリを提供します。追跡が必要な同意は、xDB.Tracker.Consent.WebSiteNameキーで保存されます。たとえば、mywebsiteというWebサイトに対する連絡先のトラッキング選択は、xDB.Tracker.Consent.mywebsiteキーによって保存されます。同意キーのプレフィックスxDB.Tracker.Consent.は、Sitecore.Analytics.XConnect.DataAccess.Constants.ConsentKeyPrefix定数としてもアクセスできます。

同意の選択肢を取得する

現在のサイトに対するコンテキストコンタクトの同意選択を取得するには、次のようにします。

using Microsoft.Extensions.DependencyInjection;
using Sitecore.Analytics.Tracking.Consent;
using Sitecore.Analytics.Tracking.Identification;
using Sitecore.DependencyInjection;
using System.Linq;

namespace Documentation.Examples
{
    public class ConsentExamples
    {
        public void GetConsentChoice()
        {
            var consentManager = ServiceLocator.ServiceProvider.GetRequiredService<IConsentManager>();

            // If the known identifier is null, the consent choice is retrieved from a cookie.
            // Supply the relevant Source and KnownIdentifier as parameters below.            
            TrackingConsent consentChoice = consentManager.GetConsent(new KnownContactIdentifier(Source, KnownIdentifier);

            var consentGivenForSite = consentChoice.IsGiven;
        }
    }

このシナリオでは、次のようになります。

  • 識別子が指定されていない場合 (つまり、メソッドにnullが渡された場合)、トラッカーはIConsentStorageサービスから連絡先の同意選択を取得しようとします。これは、デフォルトではSC_TRACKING_CONSENT Cookieに保存されます。

  • 識別子が指定されている場合、トラッカーはxConnectから読み込まれたコンタクトのファセットから同意の選択肢を取得しようとします。

同意する

コンテキストサイトに同意するには:

using Microsoft.Extensions.DependencyInjection;
using Sitecore.Analytics.Tracking.Consent;
using Sitecore.Analytics.Tracking.Identification;
using Sitecore.DependencyInjection;
using System.Linq;

namespace Documentation.Examples
{
    public class ConsentExamples
    {
        public void GetConsentChoiceAndIdentify()
        {
            var consentManager = ServiceLocator.ServiceProvider.GetRequiredService<IConsentManager>();
                        
             // Supply the relevant Source and KnownIdentifier as parameters below. 
            consentManager.GiveConsent(new KnownContactIdentifier(Source, KnownIdentifier);
        }
    }
}

このシナリオでは、次のようになります。

  • トラッカーは、IConsentStorageサービスを使用して、連絡先の同意選択を同意ストレージに書き込みます。デフォルトでは、この選択はSC_TRACKING_CONSENT Cookieに保存されます。

  • 追跡が開始されます。

  • 識別子パラメーターが指定されている場合 (nullでない)、トラッカーは連絡先を識別し、更新された同意の選択肢がContactManager.SetTrackingConsent() APIによって現在の連絡先に設定されます。

同意を取り消す

同意を取り消すには:

using Microsoft.Extensions.DependencyInjection;
using Sitecore.Analytics.Tracking.Consent;
using Sitecore.Analytics.Tracking.Identification;
using Sitecore.DependencyInjection;
using System.Linq;

namespace Documentation.Examples
{
    public class ConsentExamples
    {
        public void RevokeConsent()
        {
            var consentManager = ServiceLocator.ServiceProvider.GetRequiredService<IConsentManager>();

            // Supply the relevant Source and KnownIdentifier as parameters below.
            consentManager.RevokeConsent(new KnownContactIdentifier(Source, KnownIdentifier);
        }
    }

このシナリオでは、次のようになります。

  • 追跡が進行中の場合は、停止します。

  • トラッカーはSC_ANALYTICS_GLOBAL_COOKIEを無効にし、IConsentStorageサービスを使用して連絡先の同意選択を同意ストレージに更新します。デフォルトでは、この選択はSC_TRACKING_CONSENT Cookieに保存されます。

  • 識別子パラメータが指定され (nullでない)、追跡が開始されている場合、トラッカーは識別子が現在の連絡先と一致することを確認し、ContactManager.SetTrackingConsent() APIを使用して同意の選択肢を連絡先に設定します。

  • 識別子パラメーターが指定されている (nullでない) が、トラッキングが開始されていない場合、トラッカーは連絡先がxDBから読み込まれていることを確認し、ContactManager.SetTrackingConsent() APIを使用して連絡先の同意選択を設定します。

  • identifierパラメーターが指定されていない (nullである) 場合、トラッカーはSC_ANALYTICS_GLOBAL_COOKIE内の情報を使用して、現在のデバイスに関連付けられている連絡先を判別します。次に、連絡先がxDBから読み込まれることを確認し、ContactManager.SetTrackingConsent() APIを使用して連絡先の同意の選択肢を設定します。

この記事を改善するための提案がある場合は、 お知らせください!