Gizlilik ve Mesajlaşma JavaScript API'sı

Giriş

Bu API, Gizlilik ve Mesajlaşma sekmesinde sunulan mesajlarla etkileşim kurmanızı sağlayan araçlar sağlar. Bu özellik sayesinde şunları yapabilirsiniz:

ve diğerleri.

Endüstri standardı protokolleri kullanarak kullanıcı rızası almak için bu araçlardan da yararlanabilirsiniz:

Bu durumlarda izin durumu, söz konusu API'ler aracılığıyla iletilir.

Bu kullanıcı mesajlaşma işlevini sitenizde birkaç şekilde dağıtabilirsiniz:

  1. Çoğu durumda yeniden etiketleme yapmanız gerekmez. Mevcut Google Yayıncı Etiketi veya AdSense etiketiniz, mesaj ilgili üründe yayınlandıktan sonra kullanıcı mesajlarını dağıtır.
  2. Reklam engelleme iptali mesajını kullanıyorsanız reklam engelleme etiketini sayfanıza açıkça eklemeniz gerekir. Daha fazla bilgi için Ad Manager ve AdSense etiketleme talimatlarını inceleyin.

googlefc, kullanıcı mesajlaşma işlevinin JavaScript Window üzerindeki API'si için kullandığı global ad alanıdır.

Alan Özetleri

Ad Tür Tanım
googlefc.controlledMessagingFunction function(!Object) Mesajlaşmaya devam edilip edilmeyeceğini belirleyen bir işlev. Bu işlev tüm mesaj türleri için desteklenir.
googlefc.callbackQueue !Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue Kullanıcı mesajlaşma sorgularının eşzamansız yürütülmesi için geri çağırma sırasına referans.
googlefc.CallbackQueue !Object Geri çağırma sırası nesnesinin türü.
googlefc.AdBlockerStatusEnum !Object<string, number> Kullanıcının reklam engelleyici durumunu temsil eden bir enum.
googlefc.AllowAdsStatusEnum !Object<string, number> Kullanıcının reklamlara izin verme durumunu temsil eden bir enum.
googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum !Object<string, number> Kullanıcının ABD eyaletleri kapsam dışında kalmayı seçme ilk durumunu temsil eden bir enum. Bu, kullanıcının bulunduğu ABD eyaletini dikkate alır.
googlefc.GoogleFcConsentModeUserStatus !Object googlefc.getGoogleConsentModeValues için dönüş türü.
googlefc.ConsentModePurposeStatusEnum !Object<string, number> İzin modu amacına yönelik olarak son kullanıcının kararını temsil eden bir enum.
googlefc.usstatesoptout.overrideDnsLink undefined|boolean Kendi özel "Bilgilerimi Satmayın veya Paylaşmayın" bağlantınızı kullanmak için "true" olarak ayarlanabilen bir boole değeri.
googlefc.ccpa.InitialCcpaStatusEnum

Eski. googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum tercih edin.
!Object<string, number> Kullanıcının ilk ABD eyalet tüzükleri durumunu temsil eden bir enum.
googlefc.ccpa.overrideDnsLink

Eski. googlefc.usstatesoptout.overrideDnsLink tercih edin.
undefined|boolean Kendi özel "Bilgilerimi Satmayın veya Paylaşmayın" bağlantınızı kullanmak için "true" olarak ayarlanabilen bir boole değeri.

Yöntem Özetleri

Ad Dönüş türü Tanım
googlefc.showRevocationMessage() tanımsız Kullanıcı rızası kaydını temizler ve kullanıcıya uygun kullanıcı rızası alma mesajını göstermek için googlefc komut dosyasını yeniden yükler.
googlefc.getAdBlockerStatus() sayı Kullanıcının reklam engelleme durumuna bağlı olarak AdBlockerStatusEnum içinde bir değer döndürür.
googlefc.getAllowAdsStatus() sayı Kullanıcının reklamlara izin verme durumuna bağlı olarak AllowAdsStatusEnum içinde bir değer döndürür.
googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() sayı Kullanıcının ABD eyalet tüzükleri kapsamı dışında kalmayı seçme ilk durumuna bağlı olarak InitialUsStatesOptOutStatusEnum içinde bir değer döndürür. Bu, kullanıcının mevcut konumuna göre geçerli olan düzenlemeyi dikkate alır.
googlefc.usstatesoptout.openConfirmationDialog(function(boolean)) tanımsız Varsayılan Satmayın veya Paylaşmayın bağlantısı geçersiz kılınırsa ABD eyalet yönetmelikleri kapsamı dışında kalmayı seçme onay iletişim kutusunu açar.
googlefc.getGoogleConsentModeValues() !Object Kullanıcının mevcut izin modu değerlerini içeren bir googlefc.GoogleFcConsentModeUserStatus nesnesi döndürür. Mevcut her izin modu amacı için bir nesne döndürülür.
googlefc.ccpa.getInitialCcpaStatus()

Eski. googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() tercih edin.
sayı Kullanıcının ABD eyalet tüzükleri kapsamı dışında kalmayı seçme ilk durumuna bağlı olarak InitialCcpaStatusEnum içinde bir değer döndürür.
googlefc.ccpa.openConfirmationDialog(function(boolean))

Eski. googlefc.usstatesoptout.openConfirmationDialog() tercih edin.
tanımsız Varsayılan Satmayın veya Paylaşmayın bağlantısı geçersiz kılınırsa ABD eyalet yönetmelikleri kapsamı dışında kalmayı seçme onay iletişim kutusunu açar.

Sitenizde test ve hata ayıklama yapma

Gizlilik ve Mesajlaşma, belirli mesajların, mesaj alt türlerinin veya mesaj kombinasyonlarının gerçek sitenizde nasıl göründüğünü görmenizi sağlayan hata ayıklama ve test işlevleri sunar.

Ön koşullar:

  • Önizlemek istediğiniz mesajlar, test ettiğiniz sitede yayınlanmalıdır.

Aşağıdaki hata ayıklama URL'si parametrelerini kullanarak sitenizde canlı önizleme görebilirsiniz:

Hata ayıklama parametresi İzin verilen değerler
fc alwaysshow (hata ayıklama/önizleme modunu tetiklemek için)
fctype ab (Reklam engelleme mesajları), ccpa (ABD eyalet yönetmelikleri kapsamı dışında kalmayı seçme mesajları), gdpr (GDPR kullanıcı rızası alma mesajları), monetization (Offerwall mesajları), usfl (ABD eyalet yönetmelikleri kapsamı dışında kalmayı seçme mesajları, Florida'ya özel), usnat (ABD eyalet yönetmelikleri kapsamı dışında kalmayı seçme mesajları, Florida hariç desteklenen tüm eyaletler; ccpa ile eşdeğer)

Sitenizde (foo.com) önizleme yapmak için bu özelliği nasıl kullanabileceğinize dair bazı örnekler:

  • ABD eyalet yönetmelikleri kapsam dışında kalmayı seçme mesajlarını test etme -- http://foo.com/?fc=alwaysshow&fctype=ccpa
  • GDPR mesajlarını test etme -- http://foo.com/?fc=alwaysshow&fctype=gdpr

Alanlar: açıklamalar ve örnekler

googlefc.controlledMessagingFunction {function(!Object)}

Mesajların gösterilip gösterilmeyeceğini belirleyen bir işlev. Bu API, abone durumu veya sayfa URL'si gibi yayıncı tarafından belirtilen koşullara göre mesaj oluşturmayı engellemek için kullanılabilir.

Diğer komut dosyaları yüklenmeden önce pencerede googlefc.controlledMessagingFunction tanımladığınızda, message.proceed(boolean) çağrılana kadar mesajlar gösterilmez. message.proceed(true) çağrısı, mesajlaşmanın her zamanki gibi devam etmesini sağlarken message.proceed(false) çağrısı, sayfa görüntüleme için herhangi bir mesajın gösterilmesini engeller.

Örnek: Sayfada, giriş yapmış kullanıcının abone olup olmadığını kontrol eden eş zamansız bir determineIfUserIsSubscriber() işlevi tanımlayan şu komut dosyasının bulunduğunu varsayalım.

<head>
  <script>
    window.isSubscriber = undefined;
    function determineIfUserIsSubscriber() {
      if (isSubscriber !== undefined) {
        return isSubscriber;
      }
      return new Promise(resolve => {
        setTimeout(() => {
          // Change this to true if you want to test what subscribers would see.
          window.isSubscriber = false;
          resolve(window.isSubscriber);
        }, 1000);
      });
    }
  </script>
</head>

Bu, mesajı yalnızca abone olmayanlara göstermek için googlefc.controlledMessagingFunction özelliğini nasıl kullanabileceğinize dair bir örnektir.

<head>
  <script>
    // Define googlefc and the controlled messaging function on the Window.
    window.googlefc = window.googlefc || {};
    googlefc.controlledMessagingFunction = async (message) => {
      // Determine if the user is a subscriber asynchronously.
      const isSubscriber = await determineIfUserIsSubscriber();

      if (isSubscriber) {
        // If the user is a subscriber, don't show any messages.
        message.proceed(false);
      } else {
        // Otherwise, show messages as usual.
        message.proceed(true);
      }
    }
  </script>
</head>

Bu özelliğin, yayıncıların yalnızca belirli mesaj türlerinin engellenmesi gerektiğini belirtmesine olanak tanıyan bir uzantısı da vardır. Diğer mesaj türlerini engellemeden belirli mesaj türlerini engellemek için bu özellik uzantısını kullanın.

Mesaj türüne özel kontrollü mesajlaşma, message.proceed() öğesine ek bir parametre (googlefc.MessageTypeEnum türünde bir Array) iletilerek gerçekleştirilir.

Örnek: Bu örnekte, diğer mesaj türleri engellenmeden yalnızca aboneler için Offerwall yayınını engellemek amacıyla googlefc.controlledMessagingFunction kullanılmaktadır:

<head>
  <script>
    // Define googlefc and the controlled messaging function on the Window.
    window.googlefc = window.googlefc || {};
    googlefc.controlledMessagingFunction = async (message) => {
     // Determine if the Offerwall should display or not.
     const shouldDisplayOfferwall = await determineIfUserIsSubscriber();
     const applicableMessageTypes = [];

     if (!shouldDisplayOfferwall) {
       // Do not show the Offerwall, but allow other message types to display.
       applicableMessageTypes.push(window.googlefc.MessageTypeEnum.OFFERWALL);
       message.proceed(false, applicableMessageTypes);
     } else {
       // Otherwise, show messages as usual.
       message.proceed(true);
     }
    }
  </script>
</head>

googlefc.callbackQueue {!Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue}

Mesajlaşmayla ilgili çağrıların eşzamansız yürütülmesi için global geri çağırma sırasına referans. Bir işlevi çağırmanın desteklenen tek yolu, işlevi callbackQueue öğesine eklemektir.

Farklı veri türleri farklı zamanlarda kullanılabilir hale geldiğinden, bir işlev, aşağıdaki dizelerden biri anahtar ve yürütülecek işlev değer olacak şekilde bir eşleme olarak eklenmelidir.

Desteklenen anahtarlar:

Anahtar adı Kullanım Göreli gecikme
CONSENT_API_READY CONSENT_API_READY anahtarıyla geri çağırma sırasına eklenen işlevler, desteklenen rıza çerçevelerine yönelik API'ler tanımlandığında ve çağrılabilir olduğunda yürütülür. Bu noktadan sonra, daha sonra eklenen CONSENT_API_READY anahtarlı işlevlerin yürütülmesi eşzamanlı olur. Çerçeveye özgü ayrıntılar için IAB çerçeveleri ile ilgili bölümlere bakın. Düşük
CONSENT_DATA_READY CONSENT_DATA_READY anahtarıyla geri çağırma sırasına gönderilen işlevler, desteklenen bir izin çerçevesi kapsamında toplanan kullanıcı rızası bilindiğinde (önceki bir yürütmeden veya kullanıcı, kullanıcı rızası alma mesajıyla etkileşime girdikten sonra) yürütülür. Bu noktadan sonra, daha sonra eklenen CONSENT_DATA_READY anahtarlı işlevlerin yürütülmesi eşzamanlı olur. Yüksek
AD_BLOCK_DATA_READY AD_BLOCK_DATA_READY anahtarıyla geri çağırma sırasına gönderilen işlevler, reklam engelleme verileri akışta kullanılabilir hale geldiğinde yürütülür. Bu noktadan sonra, daha sonra eklenen AD_BLOCK_DATA_READY anahtarlı işlevlerin yürütülmesi eşzamanlı olur. Yüksek
CONSENT_MODE_DATA_READY CONSENT_MODE_DATA_READY anahtarıyla geri çağırma sırasına eklenen işlevler, Google [izin modu](https://support.google.com/google-ads/answer/10000067) verileri (Google Ads ve Analytics etiketleriyle kullanım için) akışta kullanılabilir hale geldiğinde yürütülür. İzin modu verileri hazır olduğunda googlefc.getGoogleConsentModeValues kullanarak izin modu değerlerine istediğiniz zaman erişebilirsiniz. Orta
INITIAL_US_STATES_OPT_OUT_DATA_READY INITIAL_US_STATES_OPT_OUT_DATA_READY anahtarıyla geri çağırma sırasına gönderilen işlevler, ABD eyalet düzenlemeleri verileri akışta kullanılabilir hale geldiğinde yürütülür. ABD eyalet tüzükleri verileriyle ilgili sonraki isteklerin doğrudan GPP API (__gpp) çağrılarak alınması gerektiğini unutmayın. Orta
INITIAL_CCPA_DATA_READY ABD eyalet yönetmelikleri için eski anahtar. INITIAL_US_STATES_OPT_OUT_DATA_READY tercih edin.

INITIAL_CCPA_DATA_READY anahtarıyla geri çağırma sırasına gönderilen işlevler, ABD eyalet düzenlemeleri verileri akışta kullanılabilir hale geldiğinde yürütülür. ABD eyalet tüzükleri verileriyle ilgili sonraki isteklerin doğrudan GPP API (__gpp) çağrılarak alınması gerektiğini unutmayın.
Orta

googlefc.CallbackQueue {!Object}

Yöntem özeti:

Ad Tür Parametre Dönüş türü Rol
push(data) sayı data: Anahtarın veri kullanılabilirliği türlerinden biri, değerin ise yürütülecek bir JavaScript işlevi olduğu anahtar/değer çifti. Kabul edilebilir veri kullanılabilirliği anahtarları şunlardır: CONSENT_API_READY, CONSENT_DATA_READY, AD_BLOCK_DATA_READY, INITIAL_US_STATES_OPT_OUT_DATA_READY, CONSENT_MODE_DATA_READY ve (eski) INITIAL_CCPA_DATA_READY. Şu ana kadar eklenen komutların sayısı. Bu, dizinin mevcut uzunluğunu döndürür. İletilen işlevi, verilerin kullanılabilir hale gelme sırasına ve ardından bu işlevlerin sıraya eklenme sırasına göre yürütür.

Örnek:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      if (googlefc.getAdBlockerStatus() == googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER) {
        // Handle a non-ad blocking user.
      }
    }
  });
</script>

googlefc.AdBlockerStatusEnum {!Object<string, number>}

Kullanıcının farklı reklam engelleme durumlarını gösterir. Farklı durumlar şunlardır:

googlefc.AdBlockerStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // The user was running an extension level ad blocker.
  EXTENSION_AD_BLOCKER: 1,
  // The user was running a network level ad blocker.
  NETWORK_LEVEL_AD_BLOCKER: 2,
  // The user was not blocking ads.
  NO_AD_BLOCKER: 3,
};

googlefc.AllowAdsStatusEnum {!Object<string, number>}

Kullanıcının farklı reklam engelleme ve reklamlara izin verme durumlarını gösterir. Farklı durumlar şunlardır:

googlefc.AllowAdsStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // User is currently using an ad blocker, was never using an ad blocker, or
  // allowed ads, but not because they saw the Privacy & messaging message.
  ADS_NOT_ALLOWED: 1,
  // User is no longer using an ad blocker after seeing the ad blocking message.
  ADS_ALLOWED: 2,
};

googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum{!Object<string, number>}

Kullanıcının ABD eyalet yönetmelikleri kapsamı dışında kalmayı seçme durumlarını gösterir. Farklı durumlar şunlardır:

googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum = {
  // Something failed, status unknown.
  UNKNOWN: 0,
  // No US state regulation applies to this user.
  DOES_NOT_APPLY: 1,
  // A US state regulation applies to this user, and the user has not opted out yet.
  NOT_OPTED_OUT: 2,
  // A US state regulation applies to this user, and the user has opted out.
  OPTED_OUT: 3,
};

googlefc.GoogleFcConsentModeUserStatus{!Object}

googlefc.getGoogleConsentModeValues tarafından döndürülen nesnenin türü.

interface GoogleFcConsentModeUserStatus {

  // End user consent decision value for the ad_storage consent mode purpose.
  adStoragePurposeConsentStatus: number;

  // End user consent decision value for the ad_user_data consent mode purpose.
  adUserDataPurposeConsentStatus: number;

  // End user consent decision value for the ad_personalization consent mode purpose.
  adPersonalizationPurposeConsentStatus: number;

  // End user consent decision value for the analytics_storage consent mode purpose.
  analyticsStoragePurposeConsentStatus: number;
}

Her alanın değeri, bir googlefc.ConsentModePurposeStatusEnum enum değerine karşılık gelen bir sayıdır.


googlefc.ConsentModePurposeStatusEnum{!Object<string, number>}

İzin modu amacı için farklı olası son kullanıcı rızası değerlerini temsil eder. Farklı değerler şunlardır:

googlefc.ConsentModePurposeStatusEnum = {
  // Indicates either an error state, or that consent mode data is not ready
  // yet.
  UNKNOWN: 0,
  // Consent is granted for the given consent mode purpose.
  GRANTED: 1,
  // Consent is denied for the given consent mode purpose.
  DENIED: 2,
  // Consent is not applicable for the given consent mode purpose.
  NOT_APPLICABLE: 3,
  // The consent mode purpose has not been configured for use in the Privacy &
  // messaging UI.
  NOT_CONFIGURED: 4
};

googlefc.usstatesoptout.overrideDnsLink{undefined|boolean}

Varsayılan "Kişisel Bilgilerimi Satma veya Paylaşma" bağlantısını gizlemek ve kendi özel "Kişisel Bilgilerimi Satma veya Paylaşma" bağlantınızı kullanmak için bu alanı "true" olarak ayarlayın. Bu işlevin yalnızca Ad Manager'da desteklendiğini unutmayın.

Örnek:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  // Signals that the default DNS link will be overridden.
  googlefc.usstatesoptout.overrideDnsLink = true;
</script>

googlefc.ccpa.InitialCcpaStatusEnum{!Object<string, number>}

Kullanıcının ABD eyalet yönetmelikleri kapsamı dışında kalmayı seçme durumlarını gösterir. Farklı durumlar şunlardır:

googlefc.ccpa.InitialCcpaStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // No US state regulation applies to this user.
  CCPA_DOES_NOT_APPLY: 1,
  // A US state regulation applies to this user, and the user has not opted out yet.
  NOT_OPTED_OUT: 2,
  // A US state regulation applies to this user, and the user has opted out.
  OPTED_OUT: 3,
};

googlefc.ccpa.overrideDnsLink{undefined|boolean}

Varsayılan "Kişisel Bilgilerimi Satma veya Paylaşma" bağlantısını gizlemek ve kendi özel "Kişisel Bilgilerimi Satma veya Paylaşma" bağlantınızı kullanmak için bu alanı "true" olarak ayarlayın. Bu alanı "true" olarak ayarlarsanız sitenizde "Satmayın veya Paylaşmayın" bağlantısı oluşturmaktan sorumlu olursunuz. Bu alan, openConfirmationDialog ile birlikte kullanılmalıdır. Ayrıca "ABD eyalet yönetmelikleri" mesajlaşma işlevi için kendi özel Satmayın veya Paylaşmayın bağlantınızı kullanma özelliği yalnızca Ad Manager'da desteklenir.

Örnek:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {};
  // Signals that the default DNS link will be overridden.
  googlefc.ccpa.overrideDnsLink = true;
</script>

Yöntemler: açıklamalar ve örnekler

googlefc.getConsentStatus(): {number}


googlefc.getConsentedProviderIds(): {!Array<string>}

  1. Bu yöntem artık çağrıldığında her zaman boş bir liste döndürür.

googlefc.showRevocationMessage(): {undefined}

Varsa mevcut AB tüzükleri izin kaydını temizler ve kullanıcının izin kararını değiştirmesine olanak tanımak için AB tüzükleri mesajını tekrar gösterir.

1. örnek: Tıklandığında iptal mesajını gösterecek bir bağlantı oluşturmayla ilgili basit bir örnek:

<a href="javascript:window.googlefc.showRevocationMessage();">Privacy and cookie settings</a>
<a href="javascript:window.googlefc.showRevocationMessage();" style="display: none;" id="revocation-link">Privacy and cookie settings</a>
<script>
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
  window.googlefc.callbackQueue.push({
    'CONSENT_API_READY':
    () => {
      // Update the revocation link so that it shows on the page.
      const revocationLink = document.getElementById('revocation-link');
      revocationLink.style.display = 'block';
    }
  });
</script>

2. örnek: Bağlantının yalnızca mevcut kullanıcı için AB tüzükleri geçerli olduğunda görünür olmasını istiyorsanız belirlendikten sonra gdprApplies değerine göre düğmenin görünümünü koşullu olarak güncellemek için TCF API ile googlefc geri çağırma sırasını kullanabilirsiniz. Bunun için CONSENT_API_READY API anahtarını kullanın.

<a href="javascript:window.googlefc.showRevocationMessage();" style="display: none;" id="revocation-link">Privacy and cookie settings</a>
<script>
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
  window.googlefc.callbackQueue.push({
    'CONSENT_API_READY':
    // Specifying "0" for the version parameter will result in the API call
    // using the latest version of the TCF spec.
    () => __tcfapi('addEventListener', 0, (tcdata, success) => {
      const revocationLink = document.getElementById('revocation-link');
      if (!success || !tcdata) {
        // Something went wrong, don't show the revocation link.
        revocationLink.style.display = 'none';
      }
      else if (tcdata.gdprApplies) {
        revocationLink.style.display = 'block';
      } else {
        // GDPR does not apply so don't show the revocation link.
        revocationLink.style.display = 'none';
      }
    })
  });
</script>

googlefc.getAdBlockerStatus(): {number}

Kullanıcının reklam engelleme durumuna bağlı olarak AdBlockerStatusEnum'da bir değer döndürür. Bu işlev için belirtilmesi gereken anahtar: AD_BLOCK_DATA_READY.

Örnek:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      switch (googlefc.getAdBlockerStatus()) {
          case googlefc.AdBlockerStatusEnum.EXTENSION_LEVEL_AD_BLOCKER:
          case googlefc.AdBlockerStatusEnum.NETWORK_LEVEL_AD_BLOCKER:
            // Insert handling for cases where the user is blocking ads.
            break;
          case googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER:
            // Insert handling for cases where the user is not blocking ads.
            break;
          case googlefc.AdBlockerStatusEnum.UNKNOWN:
            // Insert handling for unknown cases.
            break;
      }
    }
  });
</script>

googlefc.getAllowAdsStatus(): {number}

Kullanıcının reklamlara izin verme durumuna bağlı olarak AllowAdsStatusEnum içinde bir değer döndürür. Bu işlev için belirtilmesi gereken anahtar: AD_BLOCK_DATA_READY.

Örnek:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      switch (googlefc.getAllowAdsStatus()) {
        case googlefc.AllowAdsStatusEnum.ADS_NOT_ALLOWED:
          // Insert handling for cases where the user has not allowed ads.
          // The user may have never been an ad blocker.
          break;
        case googlefc.AllowAdsStatusEnum.ADS_ALLOWED:
          // Insert handling for cases where the user saw the ad blocking
          // message and allowed ads on the site.
          break;
        case googlefc.AllowAdsStatusEnum.UNKNOWN:
          // Insert handling for unknown cases.
          break;
      }
    }
  });
</script>

googlefc.usstatesoptout.getInitialUsStatesOptOutStatus(): {number}

Kullanıcının ABD eyalet tüzüğü kapsamı dışında kalmayı seçme durumuna bağlı olarak InitialUsStatesOptOutStatusEnum içinde bir değer döndürür. Bu işlev için belirtilmesi gereken anahtar INITIAL_US_STATES_OPT_OUT_DATA_READY. ABD eyalet yönetmelikleri verileriyle ilgili sonraki isteklerin doğrudan GPP API'si (__gpp) çağrılarak alınması gerektiğini unutmayın.

"Bilgilerimi Satmayın veya Paylaşmayın" bağlantısını geçersiz kılıyorsanız bağlantıyı sitenize ne zaman ekleyeceğinizi belirlemek için bu yöntemi kullanabilirsiniz.

Örnek:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'INITIAL_US_STATES_OPT_OUT_DATA_READY':
    () => {
      switch (googlefc.usstatesoptout.getInitialUsStatesOptOutStatus()) {
        case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.DOES_NOT_APPLY:
          // Insert handling for cases where no US state regulation applies to
          // the user.
          break;
        case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.NOT_OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to
          // the user, and the user has not opted out.
          break;
        case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to the
          // user, and the user has opted out.
          break;
      }
    }
  });
</script>

googlefc.usstatesoptout.openConfirmationDialog(function(boolean)): {undefined}

Varsayılan "Satmayın" bağlantısı geçersiz kılınırsa ABD eyalet düzenlemeleri kapsamı dışında kalmayı seçme onayı iletişim kutusunu açar. Kullanıcı onay iletişim kutusuyla etkileşimde bulunduktan sonra, kullanıcı kapsam dışında kalmayı seçerse sağlanan geri çağırma işlevi true ile, aksi takdirde false ile çağrılır.

Örnek:

<script>
// This callback will be called with the user's US state regulation opt-out
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
  // Insert handling for user opt-out status here.
}
// Invoke the US state regulations confirmation dialog when the user clicks the
// link.
document.getElementById("your-custom-do-not-sell-link").addEventListener(
  "click", () => googlefc.usstatesoptout.openConfirmationDialog(usStateRegCompletionCallback));
</script>

googlefc.getGoogleConsentModeValues(): {!Object}

Kullanıcının izin kararına göre her bir izin modu amacının mevcut değerlerini içeren bir googlefc.GoogleFcConsentModeUserStatus nesnesi döndürür.

Kullanım amacı için AB tüzükleri için izin modu desteğiyle Google kullanıcı rızası yönetim çözümlerini kullanma başlıklı makaleyi inceleyin.


googlefc.ccpa.getInitialCcpaStatus(): {number}

Kullanıcının ABD eyalet tüzüğü kapsamı dışında kalmayı seçme durumuna bağlı olarak InitialCcpaStatusEnum içinde bir değer döndürür. Bu işlev için belirtilmesi gereken anahtar INITIAL_CCPA_DATA_READY. ABD eyalet yönetmeliği verileriyle ilgili sonraki isteklerin doğrudan GPP API'si (__gpp) çağrılarak alınması gerektiğini unutmayın.

Örnek:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'INITIAL_CCPA_DATA_READY':
    () => {
      switch (googlefc.ccpa.getInitialCcpaStatus()) {
        case googlefc.ccpa.InitialCcpaStatusEnum.CCPA_DOES_NOT_APPLY:
          // Insert handling for cases where no US state regulation applies to
          // the user.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to
          // the user, and the user has not opted out.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to the
          // user, and the user has opted out.
          break;
      }
    }
  });
</script>

googlefc.ccpa.openConfirmationDialog(function(boolean)): {undefined}

Varsayılan "Satmayın" bağlantısı geçersiz kılınırsa ABD eyalet düzenlemeleri kapsamı dışında kalmayı seçme onayı iletişim kutusunu açar. Kullanıcı onay iletişim kutusuyla etkileşime geçtikten sonra, kullanıcı kapsam dışında kalmayı seçerse sağlanan geri çağırma işlevi true ile, aksi takdirde false ile çağrılır.

Örnek:

<script>
// This callback will be called with the user's US state regulation opt-out
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
  // Insert handling for user opt-out status here.
}
// Invoke the US state regulations confirmation dialog when the user clicks the
// link.
document.getElementById("your-custom-ccpa-do-not-sell-link").addEventListener(
  "click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>

IAB TCF 2.0 çerçevesi kapsamında GDPR izni almak için Google kullanıcı rızası yönetim çözümlerini kullanıyorsanız IAB TCF 2.0 API'yi kullanmanız gerekir.

İlgili geri çağırmaların yalnızca sayfada IAB TCF 2.0 sürümü API'si tanımlandığında çağrılmasını sağlamak için CONSENT_API_READY geri çağırma sırası anahtarını kullanabilirsiniz. Bu, IAB TCF 2.0 API'nin 'addEventListener' komutuyla birlikte kullanılmalıdır.

Örnek:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback using the CONSENT_API_READY key on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_API_READY':
    () => __tcfapi('addEventListener', 2.2, (data, success) => {
      // Do something with consent data value; this callback may be invoked
      // multiple times as user completes consent flow.
    })
  });
</script>

İlgili geri çağırmaların yalnızca kullanıcı rızası alındığında ve IAB TCF 2.0 sürümü API'si kullanılarak erişilebilir olduğunda çağrılmasını sağlamak için CONSENT_DATA_READY geri çağırma sırası anahtarını kullanabilirsiniz. Bu, 'addEventListener' komutuyla birlikte kullanılabilir. Sağladığınız geri çağırmanın ilk çağrısında sağlanan veriler, kullanıcının izin seçimlerini içerir (TCF 2.0 sürümü bu kullanıcı için geçerli olduğu sürece). TCF 2.2 sürümünün yayınlanmasıyla birlikte 'getTCData' komutunun desteğinin sonlandırıldığını unutmayın.

Örnek:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback using the CONSENT_DATA_READY key on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_DATA_READY':
    () => __tcfapi('addEventListener', 2.2, (data, success) => {
      // Do something with consent data value; this callback may be invoked
      // multiple times if user consent selections change.
    })
  });
</script>

Google kullanıcı rızası yönetim çözümleri, kullanıcılarınızın AB tüzükleri kapsamındaki izin tercihlerini Google izin modu için yorumlayabilir (Daha fazla bilgi için Yardım Merkezi'ni ziyaret edin).

İzin modu, Google Ads ve Analytics belgelerinde açıklandığı gibi temel modda veya gelişmiş modda uygulanabilir. Yasal koşullarınızı karşılamak için hangi izin modunu uygulamanız gerektiği konusunda hukuk departmanınıza danışmalısınız.

Gelişmiş izin modu varsayılan olarak desteklenir. Gizlilik ve Mesajlaşma kullanıcı arayüzünde izin modunu etkinleştirdikten sonra başka bir işlem yapmanız gerekmez.

Google kullanıcı rızası yönetim çözümlerini kullanarak temel izin modunu uygulamak için izin modu verileri kullanılabilir olduğunda Google Ads ve Analytics etiketlerinizi koşullu olarak yüklemek üzere CONSENT_MODE_DATA_READY geri çağırma sırası anahtarını kullanabilirsiniz. İzin modu verileri, Funding Choices izin modunun bu istek için geçerli olmadığını belirledikten (ör. AB tüzükleri bu istek için geçerli olmadığından) veya bir kullanıcı AB tüzükleri izin kararı verdikten sonra kullanılabilir. İzin modu kullanıma sunulduktan sonra etiketlerinizin yüklenip yüklenemeyeceğini belirlemek için kullanılacak ölçütler konusunda hukuk departmanınıza danışmanız gerekir.

Örneğin, son kullanıcının izin kararından bağımsız olarak izin modu verileri kullanılabilir olduğunda etiketlerinizi yüklemek için:

<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

// Helper function to load Google Ads/Analytics tags once consent mode data is
// ready.
const loadGtagScript = () => {
  // Load gtag.js script - code taken from
  // https://developers.google.com/tag-platform/security/guides/consent?consentmode=basic#set_up_consent_mode
  var gtagScript = document.createElement('script');
  gtagScript.async = true;
  gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=<Google tag ID>';

  var firstScript = document.getElementsByTagName('script')[0];
  firstScript.parentNode.insertBefore(gtagScript,firstScript);
}

// Queue the callback using the CONSENT_MODE_DATA_READY key on the callbackQueue.
window.googlefc.callbackQueue.push({
  'CONSENT_MODE_DATA_READY':
  () => {
      loadGtagScript();
  },
});
</script>

İzin modu verileri mevcut olduğunda, her bir izin modu amacının değerlerini almak için googlefc.getGoogleConsentModeValues() API'yi de kullanabilirsiniz. Bu API, desteklenen her izin modu amacı için bir alan içeren bir GoogleFcConsentModeUserStatus nesnesi döndürür. Her alanın değeri, ilgili izin modu amacının değerini gösteren bir enum değeridir.

Örneğin, Google Ads ve Analytics etiketlerinizin engellemesini yalnızca aşağıdaki durumlarda kaldırmak için googlefc.getGoogleConsentModeValues() kullanabilirsiniz:

  • Son kullanıcı, tüm izin modu amaçları için izin verilmesiyle sonuçlanan bir AB tüzükleri izin kararı verdiğinde veya
  • Tüm izin modu amaçları mevcut istek için geçerli değilse (AB tüzükleri geçerli değilse veya izin modu, Gizlilik ve Mesajlaşma'da bir ya da daha fazla amaç için yapılandırılmamışsa bu durum ortaya çıkabilir).
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

// Helper function to determine whether Google Ads and Analytics tags can be
// unblocked. Returns true if all consent mode purposes are set to GRANTED,
// NOT_APPLICABLE, or NOT_CONFIGURED.
const shouldUnblockConsentTags = (googleFcConsentModeStatus) => {
  const allConsentModeValues = [
    googleFcConsentModeStatus.adStoragePurposeConsentStatus,
    googleFcConsentModeStatus.adUserDataPurposeConsentStatus,
    googleFcConsentModeStatus.adPersonalizationPurposeConsentStatus,
    googleFcConsentModeStatus.analyticsStoragePurposeConsentStatus
  ];
  for (const consentModeValue of allConsentModeValues) {
    switch (consentModeValue) {
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_UNKNOWN:
        // Indicates either an error case or that consent mode data is not
        // ready yet. Cannot unblock tags until consent data is ready and valid,
        // so return false.
        return false;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_GRANTED:
        // Consent is granted for this consent mode purpose.
        break;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_DENIED:
        // Consent is denied for this consent mode purpose. Do not unblock tags.
        return false;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_NOT_APPLICABLE:
        // Consent mode does not apply for this purpose.
        break;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_NOT_CONFIGURED:
        // Consent mode not configured for this purpose.
        // If you configured support for Ads purposes but not Analytics purposes in the
        // Privacy & messaging UI, the value of `analyticsStoragePurposeConsentStatus` will
        // always be set to NOT_CONFIGURED. If you do not enable any Consent Mode support
        // in the Privacy & messaging UI, the values of all purposes will always be set to
        // NOT_CONFIGURED.
        break;
      default:
        console.log("Unexpected consent mode value encountered");
    }
  }
  // If all prior checks pass, all consent mode values are either GRANTED,
  // NOT_APPLICABLE, or NOT_CONFIGURED.
  return true;
};

// Helper function to load Google Ads/Analytics tags.
const loadGtagScript = () => {
  // Load gtag.js script - code taken from
  // https://developers.google.com/tag-platform/security/guides/consent?consentmode=basic#set_up_consent_mode
  var gtagScript = document.createElement('script');
  gtagScript.async = true;
  gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=<Google tag ID>';

  var firstScript = document.getElementsByTagName('script')[0];
  firstScript.parentNode.insertBefore(gtagScript,firstScript);
}

googlefc.callbackQueue.push({
  CONSENT_MODE_DATA_READY: () => {
    if (shouldUnblockConsentTags(googlefc.getGoogleConsentModeValues())) {
      loadGtagScript();
    }
  },
});
</script>

IAB GPP çerçevesi kapsamında son kullanıcılara ABD eyalet düzenlemeleri kapsam dışında kalmayı seçme mesajları göndermek için Google kullanıcı rızası yönetim çözümlerini kullanıyorsanız IAB GPP API'yi kullanmanız gerekir.

ABD eyalet düzenlemelerinin kapsam dışında kalma niteliği nedeniyle, geri çağırmalar çağrıldığında IAB GPP API'nin çağrılabilir olduğundan ve izni alınan verileri döndürdüğünden emin olmak için CONSENT_API_READY veya CONSENT_DATA_READY geri çağırma sırası anahtarını kullanabilirsiniz.

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_DATA_READY':
    () => __gpp('ping', (data, success) => {
        // Do something with consent data value.
    })
  });
</script>

IAB GPP çerçevesi kapsamında son kullanıcılara ABD eyalet yönetmelikleri kapsam dışında kalmayı seçme mesajları sunmak için Google kullanıcı rızası yönetim çözümlerini kullanıyorsanız googlefc.usstatesoptout.overrideDnsLink işaretini true olarak ayarlayarak kendi özel "Bilgilerimi Satmayın veya Paylaşmayın" bağlantınızı sağlayabilirsiniz.

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Signals that the default DNS link will be overridden.
  window.googlefc.usstatesoptout.overrideDnsLink = true;

  // Register the callback for the initial US state regulations data.
  window.googlefc.callbackQueue.push({
      'INITIAL_US_STATES_OPT_OUT_DATA_READY': () => {
        if (googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() ===
            googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.NOT_OPTED_OUT) {
          // TODO: Display custom Do Not Sell or Share link here.
        }
      }
    });
</script>

Bu sayede, varsayılan "Bilgilerimi Satmayın veya Paylaşmayın" bağlantısı oluşturulmaz. Ardından, ABD eyalet yönetmelikleri kapsamı dışında kalmayı seçme onay iletişim kutusunu çağırarak kullanıcının özel Satmayın veya Paylaşmayın bağlantınızla etkileşimini işlemeniz gerekir.

Kendi özel Satmayın veya Paylaşmayın bağlantınızı kullanırken bağlantınızın ABD eyalet yönetmeliklerine uygun olmasını sağlamak sizin sorumluluğunuzdadır. Ayrıca, "ABD eyalet yönetmelikleri" mesajlaşma işlevi için kendi özel Satmayın veya Paylaşmayın bağlantınızı kullanma özelliği yalnızca Ad Manager'da desteklenir.

<script>
// This callback will be called when the user makes a US state regulations
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
  if (userOptedOut) {
    // TODO: Hide custom Do Not Sell or Share link here.
  }
}
// Invoke the US state regulations opt-out confirmation dialog when the user
// clicks the link.
document.getElementById("your-custom-do-not-sell-link").addEventListener(
  "click", () => googlefc.usstatesoptout.openConfirmationDialog(usStateRegCompletionCallback));
</script>