Gizlilik ve Mesajlaşma JavaScript API'sı

Giriş

Bu API, Gizlilik ve Mesajlaşma sekmesi tarafından sunulan mesajlarla etkileşim kurmak için araçlar sağlar. Bu araçla şunları yapabilirsiniz:

ve diğerleri.

Ayrıca, sektör standardı protokolleri kullanarak kullanıcı izni toplamak için bu araçları da kullanabilirsiniz:

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

Bu kullanıcı mesajlaşma işlevini sitenizde birkaç şekilde kullanabilirsiniz:

  1. Çoğu durumda yeniden etiketleme yapmanız gerekmez. Mevcut Google Yayıncı Etiketi veya AdSense etiketi, mesaj ilgili üründe yayınlandıktan sonra kullanıcı mesajlarını dağıtır.
  2. Reklam engellemeyi geri alma 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ığı genel 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şması sorgularının eşzamansız olarak 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 kalma durumunu temsil eden bir enum. Bu işlemde, kullanıcının bulunduğu ABD eyaleti dikkate alınır.
googlefc.GoogleFcConsentModeUserStatus !Object googlefc.getGoogleConsentModeValues için dönüş türü.
googlefc.ConsentModePurposeStatusEnum !Object<string, number> Son kullanıcının izin modu amacı için verdiği kararı temsil eden bir enum.
googlefc.usstatesoptout.overrideDnsLink undefined|boolean Kendi özel "Satmayın veya Paylaşmayın" bağlantınızı kullanmak için doğru olarak ayarlanabilen bir boole değeri.
googlefc.ccpa.InitialCcpaStatusEnum

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

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

Yöntem Özetleri

Ad Dönüş türü Tanım
googlefc.showRevocationMessage() tanımsız İzin kaydını temizler ve kullanıcıya uygun izin 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 reklam iznine 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 kalma başlangıç 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ındaki devre dışı bırakma 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. Her bir kullanılabilir izin modu amacı için bir değer döndürülür.
googlefc.ccpa.getInitialCcpaStatus()

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

Eski. Tercih googlefc.usstatesoptout.openConfirmationDialog().
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ındaki kişisel bilgilerin satılmasını veya paylaşılmasını devre dışı bırakma onay iletişim kutusunu açar.

Sitenizde test etme ve hata ayıklama

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

Ön koşullar:

  • Önizlemesini yapmak 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önetmeliği kapsamı dışında kalma mesajları), gdpr (GDPR kullanıcı rızası alma mesajları), monetization (Fırsat duvarı mesajları), usfl (ABD eyalet yönetmeliği kapsamı dışında kalma mesajları, Florida'ya özel), usnat (ABD eyalet yönetmeliği kapsamı dışında kalma mesajları, Florida hariç desteklenen tüm eyaletler; ccpa ile eşdeğer)

Bu özelliği sitenizde (foo.com) önizleme yapmak için kullanma şekillerine dair bazı örnekler:

  • ABD eyalet yönetmeliği kapsam dışında kalma 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)}

İletilerin gösterilip gösterilmeyeceğini belirleyen bir işlev. Abonelik 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) işlevini çağırmadığınız sürece mesajlar gösterilmez. message.proceed(true) çağrısı, mesajlaşmanın normal şekilde devam etmesine olanak tanırken message.proceed(false) çağrısı, sayfa görüntüleme için herhangi bir mesajın gösterilmesini engeller.

Örnek: Sayfada, oturum açmış kullanıcının abone olup olmadığını kontrol eden bir asenkron işlev determineIfUserIsSubscriber() tanımlayan şu komut dosyasının olduğ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, yalnızca abone olmayan kullanıcılara mesaj göstermek için googlefc.controlledMessagingFunction öğesini 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 Offerwall'un bastırılması gerektiğini belirtmesine olanak tanıyan bir uzantısı da vardır. Bu özellik uzantısını kullanarak diğer mesaj türlerini bastırmadan Offerwall'u bastırabilirsiniz.

Offerwall'a özel kontrollü mesajlaşma, message.proceed() öğesine ek bir parametre iletilerek sağlanır. Bu öğe, googlefc.MessageTypeEnum türünde bir Array'dir.

Örnek: Bu, googlefc.controlledMessagingFunction kullanarak yalnızca aboneler için Offerwall yayınını diğer mesaj türlerini devre dışı bırakmadan devre dışı bırakma örneğidir:

<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 aramaların eşzamansız olarak yürütülmesi için genel geri çağırma sırasına referans. Herhangi bir işlevi çağırmanın desteklenen tek yolu, işlevi callbackQueue'ya eklemektir.

Farklı veri türleri farklı zamanlarda kullanıma sunulduğundan, bir işlev harita olarak eklenmelidir. Anahtar olarak aşağıdaki dizelerden biri, değer olarak ise yürütülecek işlev kullanılmalıdır.

Desteklenen tuşlar:

Anahtar adı Kullanım Bağıl gecikme
CONSENT_API_READY CONSENT_API_READY anahtarıyla geri çağırma sırasına gönderilen işlevler, desteklenen izin çerçevelerine yönelik API'ler tanımlanıp çağrılabilir olduğunda yürütülür. Bu noktadan sonra, daha sonra eklenen CONSENT_API_READYanahtarlı işlevlerin yürütülmesi eşzamanlıdır. Ç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 kullanıcı rızası çerçevesi kapsamında toplanan kullanıcı rızası bilindiğinde (önceki bir yürütmeden veya kullanıcı izin mesajıyla etkileşimde bulunduktan sonra) yürütülür. Bu noktadan sonra, daha sonra eklenen CONSENT_DATA_READYanahtarlı işlevlerin yürütülmesi eşzamanlıdır. Yüksek
AD_BLOCK_DATA_READY AD_BLOCK_DATA_READY anahtarıyla geri çağırma sırasına gönderilen işlevler, akışta reklam engelleme verileri 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ıdır. Yüksek
CONSENT_MODE_DATA_READY CONSENT_MODE_DATA_READY anahtarıyla geri çağırma sırasına gönderilen işlevler, akışta Google [izin modu](https://support.google.com/google-ads/answer/10000067) verileri (Google Ads ve Analytics etiketleriyle kullanılmak üzere) 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. Aracı
INITIAL_US_STATES_OPT_OUT_DATA_READY INITIAL_US_STATES_OPT_OUT_DATA_READY tuşuyla geri çağırma sırasına gönderilen işlevler, akışta ABD eyalet düzenlemeleri verileri kullanılabilir hale geldiğinde yürütülür. ABD eyalet yönetmelikleri verileriyle ilgili sonraki tüm isteklerin doğrudan GPP API'si (__gpp) çağrılarak alınması gerektiğini unutmayın. Aracı
INITIAL_CCPA_DATA_READY ABD eyalet tüzükleri için eski anahtar. Tercih INITIAL_US_STATES_OPT_OUT_DATA_READY.

INITIAL_CCPA_DATA_READY anahtarıyla geri çağırma sırasına gönderilen işlevler, akışta ABD eyalet düzenlemeleri verileri kullanıma sunulduğunda yürütülür. ABD eyalet yönetmelikleri verileriyle ilgili sonraki tüm isteklerin doğrudan GPP API'si (__gpp) çağrılarak alınması gerektiğini unutmayın.
Aracı

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ı 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'dır. Şu ana kadar eklenen komutların sayısı. Bu işlev, dizinin geçerli uzunluğunu döndürür. İletilen işlevi, verilerin kullanılabilir hale geldiği sıraya göre, ardından bu işlevlerin sıraya eklendiği sıraya 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 reklamlara izin verme ile ilgili farklı reklam engelleme 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 farklı ABD eyalet tüzükleri kapsam dışında kalma 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>}

Bir izin modu amacı için olası farklı son kullanıcı izni değerlerini gösterir. 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ı doğru olarak ayarlayı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 farklı ABD eyalet tüzükleri kapsam dışında kalma 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ı doğru olarak ayarlayın. Bu alanı doğru olarak ayarlarsanız sitenizde "Satmayın veya Paylaşmayın" bağlantısı oluşturmaktan sorumlu olduğunuzu unutmayın. Bu alan openConfirmationDialog ile birlikte kullanılmalıdır.

Ö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 işlev artık çağrıldığında her zaman boş bir liste döndürüyor.

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.

Örnek 1: Tıklandığında iptal mesajını gösterecek bir bağlantı oluşturmayla ilgili basit ö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 AB yönetmelikleri geçerli kullanıcı için geçerli olduğunda görünür olmasını istiyorsanız gdprApplies değeri belirlendikten sonra düğmenin gösterimini koşullu olarak güncellemek için TCF API ile birlikte 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'dı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':
    () => {
      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'dı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':
    () => {
      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ükleri kapsam dışında kalma 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'dır. ABD eyalet yönetmelikleri verileriyle ilgili sonraki tüm isteklerin doğrudan GPP API'si (__gpp) çağrılarak alınması gerektiğini unutmayın.

Satmayın veya Paylaşmayın bağlantısını geçersiz kılıyorsanız bu yöntemi kullanarak bağlantıyı sitenize ne zaman ekleyeceğinizi belirleyebilirsiniz.

Ö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 yönetmelikleri kapsam dışı kalma 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 izin modu amacının mevcut değerlerini içeren bir googlefc.GoogleFcConsentModeUserStatus nesnesi döndürür.

Amaçlanan kullanım için AB yönetmeliklerine yönelik 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ükleri kapsam dışında kalma 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'dır. ABD eyalet yönetmeliği verileriyle ilgili sonraki tüm taleplerin 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 yönetmelikleri kapsam dışı kalma 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-ccpa-do-not-sell-link").addEventListener(
  "click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>

IAB TCF 2 sürümü çerçevesi kapsamında GDPR izni toplamak için Google kullanıcı rızası yönetim çözümlerini kullanıyorsanız IAB TCF 2 API'sini kullanmanız gerekir.

IAB TCF v2 API'si sayfada tanımlandığında karşılık gelen geri çağırmaların yalnızca bu durumda çağrıldığından emin olmak için CONSENT_API_READY geri çağırma sırası anahtarını kullanabilirsiniz. Bu, IAB TCF 2. sürümü API'sinin '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>

Karşılık gelen geri çağırmaların yalnızca IAB TCF v2 API kullanılarak kullanıcı rızası alındığında ve erişilebilir olduğunda çağrıldığından emin olmak için CONSENT_DATA_READY geri çağırma sırası anahtarını kullanabilirsiniz. Bu, 'addEventListener' komutuyla birlikte kullanılabilir. Sağlanan geri çağırmanızın ilk çağrılması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 yönetmelikleri kapsamındaki Google izin modu ile ilgili izin tercihlerini yorumlayabilir (daha fazla bilgiyi Yardım Merkezi'nde bulabilirsiniz).

İzin modu, Google Ads ve Analytics dokümanlarında açıklandığı gibi temel modda veya gelişmiş modda uygulanabilir. Yasal şartlarınızı karşılamak için hangi izin modunu uygulayacağınız konusunda hukuk departmanınıza danışmanız gerekir.

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

Google izin yönetimi çö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ı (ör. AB tüzükleri bu istek için geçerli olmadığından) belirledikten sonra veya kullanıcı AB tüzükleriyle ilgili bir 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ına bakılmaksızın 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 kullanılabilir olduğunda, ayrı ayrı izin modu amaçlarının değerlerini almak için googlefc.getGoogleConsentModeValues() API'sini 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, söz konusu izin modu amacının değerini gösteren bir enum değeridir.

Örneğin, googlefc.getGoogleConsentModeValues() kullanarak Google Ads ve Analytics etiketlerinizin engellemesini yalnızca şu durumlarda kaldırabilirsiniz:

  • Son kullanıcı, tüm izin modu amaçları için izin verilmesine neden olan bir AB tüzükleri izni kararı verirse veya
  • Tüm izin modu amaçları, mevcut istek için geçerli değildir (AB tüzükleri geçerli değilse veya izin modu, Gizlilik ve Mesajlaşma'da bir veya daha fazla amaç için yapılandırılmamışsa bu durum oluşabilir).
<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 ABD eyalet yönetmeliklerine uygun kapsam dışında kalma mesajlarını son kullanıcılara sunmak için Google kullanıcı rızası yönetim çözümlerini kullanıyorsanız IAB GPP API'sini kullanmanız gerekir.

ABD eyalet yönetmeliklerinin kapsam dışı kalma özelliğinden dolayı, IAB GPP API'nin çağrılabilir olmasını ve geri çağırmalar başlatıldığında izin verilerini döndürmesini sağlamak 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önetmeliklerine uygun kapsam dışında kalma 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 "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, varsayılan "Satmayın veya Paylaşmayın" bağlantısının oluşturulmamasını sağlar. Ardından, ABD eyalet yönetmeliklerinin devre dışı bırakma onay iletişim kutusunu çağırarak kullanıcının özel "Satmayın veya Paylaşmayın" bağlantınızla etkileşimini yönetmeniz 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ğlamakla yükümlü olduğunuzu unutmayın.

<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>