Gizlilik ve Mesajlaşma JavaScript API'sı

Giriş

Bu API, Gizlilik ve Mesajlaşma sekmesinde sunulan mesajlarla etkileşime geçebileceğiniz 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 bu API'ler aracılığıyla iletilir.

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

  1. Çoğu durumda yeniden etiketleme yapmanız gerekmez. Mevcut Google Yayıncı Etiketi veya AdSense etiketi dağıtımları, mesaj ilgili üründe yayınlandıktan sonra kullanıcı mesajlarını bir kez gösterir.
  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ürlerinde 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 !Nesne 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 başlangıç durumunu temsil eden bir enum. Bu işlemde, kullanıcının bulunduğu ABD eyaleti dikkate alınır.
googlefc.GoogleFcConsentModeUserStatus !Nesne 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ğeridir.
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ğeridir.

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 izni 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 kalma başlangıç durumuna bağlı olarak InitialUsStatesOptOutStatusEnum içinde bir değer döndürür. Bu, kullanıcının bulunduğu konuma 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önetmeliklerine ilişkin devre dışı bırakma onay iletişim kutusunu açar.
googlefc.getGoogleConsentModeValues() !Nesne 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 bulunur.
googlefc.ccpa.getInitialCcpaStatus()

Eski. Tercih edilen biçim: 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 edilen biçim: 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 devre dışı bırakma onay iletişim kutusunu açar.

Sitenizde test etme ve hata ayıklama

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:

  • Ö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önetmelikleri kapsam dışı kalma mesajları), gdpr (GDPR izin mesajları), monetization (Fırsat duvarı mesajları), usfl (ABD eyalet yönetmelikleri kapsam dışı kalma mesajları, Florida'ya özel), usnat (ABD eyalet yönetmelikleri kapsam dışı 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önetmelikleri 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 eş zamansız 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, googlefc.controlledMessagingFunction kullanarak mesajı yalnızca abone olmayan kullanıcılara gösterme ö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 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 bastırılmasını belirtebilmesine olanak tanıyan bir uzantısı da vardır. Diğer mesaj türlerini engellemeden belirli mesaj türlerini engellemek için bu özelliği/uzantıyı kullanın.

Mesaj türüne özel kontrollü mesajlaşma, message.proceed() işlevine googlefc.MessageTypeEnum türünde bir Array olan ek bir parametre iletilerek sağlanır.

Ö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 arama 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 tuşuyla geri çağırma sırasına gönderilen işlevler, desteklenen izin çerçevelerinin API'leri 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ı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 izin çerçevesi kapsamında toplanan kullanıcı izni 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_READY anahtarlı 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ıma sunulduğunda yürütülür. Bu noktadan itibaren, 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. 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, 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. Orta
INITIAL_CCPA_DATA_READY ABD eyalet yönetmelikleri için eski anahtar. Tercih edilen biçim: INITIAL_US_STATES_OPT_OUT_DATA_READY.

INITIAL_CCPA_DATA_READY tuşuyla 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.
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 işlev, dizinin geçerli uzunluğunu döndürür. Verilerin kullanılabilir hale geldiği sıraya göre, ardından bu işlevlerin sıraya eklendiği sıraya göre, iletilen işlevi 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 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ışı 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 düzenlemeleri 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 almak 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'nin sayfada tanımlandığı durumlarda yalnızca karşılık gelen geri çağırmaların ç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ı izni 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 artık kullanımdan kaldı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 belgelerinde açıklandığı gibi temel modda veya gelişmiş modda uygulanabilir. Yasal koşulları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 başka 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 bu isteğin izin modu için geçerli olmadığını (ör. AB tüzükleri bu istek için geçerli olmadığından) belirledikten sonra veya bir kullanıcı AB tüzükleri kapsamında 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ı 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ı, AB tüzükleri kapsamında izin modu amaçlarının tümü için izin verilmesiyle sonuçlanan bir izin kararı verirse veya
  • Tüm izin modu amaçları, geçerli 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 son kullanıcılara ABD eyalet yönetmeliklerine uygun kapsam dışında kalma mesajları sağlamak 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önetmeliklerine ilişkin 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 kullanıcı 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>