JavaScript API ความเป็นส่วนตัวและการแสดงข้อความแจ้งผู้ใช้

ข้อมูลเบื้องต้น

API นี้มีเครื่องมือสําหรับโต้ตอบกับข้อความที่เสนอโดยแท็บความเป็นส่วนตัวและการรับส่งข้อความ ซึ่งช่วยให้คุณสามารถ

  • ระงับการส่งข้อความสําหรับผู้ใช้ที่ระบุ
  • ค้นหาสถานะการบล็อกโฆษณาของผู้ใช้
  • อนุญาตให้ผู้ใช้เพิกถอนคํายินยอม (หากมี)

นอกจากนี้ คุณยังสามารถใช้เครื่องมือเหล่านี้เพื่อรวบรวมความยินยอมของผู้ใช้โดยใช้โปรโตคอลมาตรฐานอุตสาหกรรมต่างๆ ดังนี้

ในกรณีเหล่านี้ ระบบจะสื่อสารสถานะความยินยอมด้วย API เหล่านั้น

คุณสามารถทําให้ฟังก์ชันการส่งข้อความของผู้ใช้นี้ใช้งานได้บนไซต์ของคุณได้หลายวิธี:

  1. ในกรณีส่วนใหญ่ คุณไม่จําเป็นต้องติดแท็กใหม่เลย เนื่องจากแท็ก Google Publisher หรือแท็ก AdSense ที่มีอยู่ทําให้ข้อความผู้ใช้ใช้งานได้เมื่อมีการเผยแพร่ข้อความในผลิตภัณฑ์ที่เกี่ยวข้อง
  2. หากใช้ข้อความการกู้คืนรายได้จากการบล็อกโฆษณา คุณจะต้องเพิ่มแท็กการบล็อกโฆษณาในหน้าเว็บอย่างชัดแจ้ง ดูข้อมูลเพิ่มเติมในการติดแท็กของ Ad Manager และ AdSense

googlefc เป็นเนมสเปซส่วนกลางที่ฟังก์ชันการรับส่งข้อความของผู้ใช้ใช้สําหรับ API ของ JavaScript Window

สรุปข้อมูลภาคสนาม

ชื่อ ประเภท คำจำกัดความ
googlefc.controlledMessagingFunction function(!Object) ฟังก์ชันที่กําหนดว่าจะดําเนินการกับข้อความนั้นต่อไปหรือไม่ ฟังก์ชันนี้รองรับข้อความทุกประเภท
googlefc.callbackQueue !Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue การอ้างอิงไปยังคิวเรียกกลับสําหรับการเรียกใช้การค้นหาข้อความจากผู้ใช้แบบไม่พร้อมกัน
googlefc.CallbackQueue !ออบเจ็กต์ ประเภทของออบเจ็กต์คิวเรียกกลับ
googlefc.AdBlockerStatusEnum !ออบเจ็กต์<string, number> แจกแจงเพื่อแสดงถึงสถานะตัวบล็อกโฆษณาของผู้ใช้
googlefc.AllowAdsStatusEnum !ออบเจ็กต์<string, number> แจกแจงเพื่อแสดงถึงสถานะการอนุญาตโฆษณาของผู้ใช้
googlefc.ccpa.InitialCcpaStatusEnum !ออบเจ็กต์<string, number> แจกแจงเพื่อเป็นตัวแทนสถานะ CPRA เริ่มต้นของผู้ใช้
googlefc.ccpa.overrideDnsLink ไม่ระบุ|บูลีน บูลีนที่สามารถตั้งค่าเป็น "จริง" เพื่อใช้ลิงก์ "ห้ามขาย" ที่กําหนดเอง

ข้อมูลสรุปของเมธอด

ชื่อ ประเภทการแสดงผล คำจำกัดความ
googlefc.showRevocationMessage() ไม่ได้กำหนด ล้างระเบียนคํายินยอมและโหลดสคริปต์ googlefc ซ้ําเพื่อแสดงข้อความขอความยินยอมที่เกี่ยวข้องกับผู้ใช้
googlefc.getAdBlockerStatus() หมายเลข แสดงผลค่าใน AdBlockerStatusEnum ขึ้นอยู่กับสถานะการบล็อกโฆษณาของผู้ใช้
googlefc.getAllowAdsStatus() หมายเลข แสดงผลค่าใน AllowAdsStatusEnum ขึ้นอยู่กับสถานะอนุญาตของผู้ใช้
googlefc.ccpa.getInitialCcpaStatus() หมายเลข แสดงผลค่าใน InitialCcpaStatusEnum ขึ้นอยู่กับสถานะ CPRA เริ่มต้นของผู้ใช้
googlefc.ccpa.openConfirmationDialog(function(boolean)) ไม่ได้กำหนด เปิดกล่องโต้ตอบการยืนยัน CPRA หากมีการลบล้างลิงก์ "ห้ามขาย" ตามค่าเริ่มต้น

การทดสอบและแก้ไขข้อบกพร่องในเว็บไซต์

ฟังก์ชันความเป็นส่วนตัวและการแสดงข้อความแจ้งผู้ใช้มีฟังก์ชันการแก้ไขข้อบกพร่องและการทดสอบที่ให้คุณเห็นว่าข้อความ (หรือชุดค่าผสมของข้อความ) มีลักษณะอย่างไรในไซต์จริงของคุณ

สิ่งที่ต้องมีก่อน

  • ข้อความที่คุณต้องการดูตัวอย่างต้องได้รับการเผยแพร่ภายใต้ไซต์ที่คุณกําลังทดสอบด้วย

คุณดูตัวอย่างแบบเรียลไทม์บนเว็บไซต์ได้โดยใช้พารามิเตอร์ของ URL การแก้ไขข้อบกพร่องต่อไปนี้

พารามิเตอร์การแก้ไขข้อบกพร่อง ค่าที่อนุญาต
fc alwaysshow (เพื่อทริกเกอร์โหมดแก้ไขข้อบกพร่อง/แสดงตัวอย่าง)
fctype ab (ข้อความการบล็อกโฆษณา), ccpa (ข้อความเลือกไม่รับ CPRA), gdpr (ข้อความขอความยินยอมตาม GDPR), monetization (ข้อความ Offerwall)

ตัวอย่างบางส่วนของวิธีใช้การแสดงตัวอย่างบนเว็บไซต์ (foo.com):

  • ทดสอบการรับส่งข้อความ CPRA -- http://foo.com?fc=alwaysshow&fctype=ccpa
  • ทดสอบการรับส่งข้อความ GDPR -- http://foo.com?fc=alwaysshow&fctype=gdpr

ช่อง: คําอธิบายและตัวอย่าง

googlefc.controlledMessagingFunction {function(!Object)}

ฟังก์ชันที่กําหนดว่าควรแสดงข้อความหรือไม่ คุณใช้วิธีนี้เพื่อบล็อกการแสดงผลของข้อความตามเงื่อนไขที่ผู้เผยแพร่เนื้อหากําหนดได้ เช่น สถานะผู้ติดตามหรือ URL ของหน้าเว็บ

เมื่อคุณกําหนด googlefc.controlledMessagingFunction ในหน้าต่างก่อนที่จะโหลดสคริปต์อื่นๆ ข้อความจะไม่แสดงจนกว่าคุณจะเรียกใช้ message.proceed(boolean) การเรียก message.proceed(true) จะทําให้การรับส่งข้อความ ดําเนินไปตามปกติ ในขณะที่การเรียกใช้ message.proceed(false) จะป้องกันไม่ให้ข้อความใดๆ ปรากฏขึ้นสําหรับการดูหน้าเว็บ

ตัวอย่างเช่น สมมติว่าคุณมีสคริปต์นี้ในหน้าเว็บซึ่งกําหนดฟังก์ชันการทํางานแบบไม่พร้อมกัน determineIfUserIsSubscriber() ที่จะตรวจสอบว่าผู้ใช้ที่เข้าสู่ระบบนั้นเป็นสมาชิกอยู่หรือไม่

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

นี่คือตัวอย่างการใช้ googlefc.controlledMessagingFunction เพื่อแสดงเฉพาะข้อความแก่ผู้ที่ไม่ได้ติดตาม

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

ผู้เผยแพร่โฆษณาที่เป็นส่วนหนึ่งของรุ่นเบต้าแบบปิดใน Offerwall สามารถระบุได้ว่าควรระงับเฉพาะ Offerwall เท่านั้นโดยใส่พารามิเตอร์เพิ่มเติมไปยัง message.proceed() พารามิเตอร์นี้เป็น Array ประเภท googlefc.MessageTypeEnum enum เดียวที่สนับสนุนในวันนี้คือ OFFERWALL แต่อาจเพิ่มประเภทข้อความอื่นๆ ได้ในอนาคต

ตัวอย่างเช่น สมมติว่าคุณมีฟังก์ชัน determineIfUserIsSubscriber() เหมือนกับด้านบน นี่คือตัวอย่างของการใช้ googlefc.controlledMessagingFunction เพื่อระงับเฉพาะข้อเสนอ Offerwall สําหรับสมาชิกเท่านั้น โดยไม่แสดงข้อความประเภทอื่น:

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

อ้างอิงถึงคิวเรียกกลับส่วนกลางสําหรับการดําเนินการแบบไม่พร้อมกันของการโทรที่เกี่ยวข้องกับการรับส่งข้อความ วิธีเดียวที่จะเรียกใช้ฟังก์ชันใดๆ ได้คือการเพิ่มฟังก์ชันลงใน callbackQueue

เนื่องจากข้อมูลประเภทต่างๆ พร้อมใช้งานในเวลาที่แตกต่างกัน คุณจึงควรเพิ่มฟังก์ชันเป็นแผนที่ โดยมีสตริงต่อไปนี้เป็นคีย์ และฟังก์ชันที่ดําเนินการเป็นค่า

คีย์ที่รองรับ:

ชื่อคีย์ การใช้งาน เวลาในการตอบสนองสัมพัทธ์
CONSENT_API_READY ฟังก์ชันที่พุชไปยังคิวเรียกกลับด้วยคีย์ CONSENT_API_READY จะทํางานเมื่อมีการกําหนดและเรียก API สําหรับเฟรมเวิร์กคํายินยอมที่รองรับ จากนี้ไป การดําเนินการของฟังก์ชันที่เพิ่มด้วย CONSENT_API_READY ที่เพิ่มหลังจากนั้นจะเป็นแบบซิงโครนัส โปรดดูรายละเอียดเฉพาะเฟรมเวิร์กใน กรอบของ IAB ด้านล่าง ต่ำ
CONSENT_DATA_READY ฟังก์ชันที่พุชไปยังคิวติดต่อกลับที่มีคีย์ CONSENT_DATA_READY จะทํางานเมื่อทราบคํายินยอมของผู้ใช้ที่รวบรวมภายใต้กรอบคํายินยอมที่รองรับ (ไม่ว่าจะเป็นการเรียกใช้ก่อนหน้าหรือเมื่อผู้ใช้โต้ตอบกับข้อความขอความยินยอม) จากนี้ไป การดําเนินการของฟังก์ชันที่เพิ่มด้วย CONSENT_DATA_READY ที่เพิ่มหลังจากนั้นจะเป็นแบบซิงโครนัส สูง
AD_BLOCK_DATA_READY ฟังก์ชันที่พุชไปยังคิวติดต่อกลับที่มีคีย์ AD_BLOCK_DATA_READY จะทํางานเมื่อมีการเข้าถึงข้อมูลการบล็อกโฆษณาในขั้นตอน จากนี้ไป การดําเนินการของฟังก์ชันที่เพิ่มด้วย AD_BLOCK_DATA_READY ที่เพิ่มหลังจากนั้นจะเป็นแบบซิงโครนัส สูง
INITIAL_CCPA_DATA_READY ฟังก์ชันที่พุชไปยังคิวติดต่อกลับที่มี INITIAL_CCPA_DATA_READY จะทํางานเมื่อข้อมูล CPRA พร้อมใช้งานในขั้นตอนดังกล่าว โปรดทราบว่าคําขอข้อมูล CPRA ที่ตามมาควรกระทําโดยการเรียกใช้ US Privacy API (__uspapi) โดยตรง สื่อ

googlefc.CallbackQueue {!Object}

สรุปเมธอด:

ชื่อ ประเภท พารามิเตอร์ ประเภทการแสดงผล บทบาท
push(data) หมายเลข data: คู่คีย์-ค่าที่มีคีย์เป็นประเภทความพร้อมใช้งานของข้อมูลอย่างใดอย่างหนึ่ง และค่านั้นเป็นฟังก์ชัน JavaScript คีย์ข้อมูลความพร้อมใช้งานที่ยอมรับได้คือ CONSENT_API_READY, CONSENT_DATA_READY, AD_BLOCK_DATA_READY และ INITIAL_CCPA_DATA_READY จํานวนคําสั่งที่เพิ่มจนถึงขณะนี้ ซึ่งจะแสดงผลความยาวของอาร์เรย์ปัจจุบัน เรียกใช้ฟังก์ชันที่ส่งตามลําดับ ตามลําดับที่ข้อมูลพร้อมใช้งาน จากนั้นตามลําดับที่มีการเพิ่มฟังก์ชันเหล่านี้ลงในคิว

ตัวอย่าง:

<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({
    'AD_BLOCK_DATA_READY':
    () => {
      if (googlefc.getAdBlockerStatus() == googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER) {
        // Handle a non-ad blocking user.
      }
    }
  });
</script>

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

เป็นสถานะต่างๆ ที่บล็อกโฆษณาของผู้ใช้ สถานะต่างๆ มีดังนี้

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

จะแสดงสถานะการอนุญาตโฆษณาที่แตกต่างกันสําหรับผู้ใช้ สถานะต่างๆ มีดังนี้

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.ccpa.InitialCcpaStatusEnum{!Object<string, number>}

จะแสดงสถานะการอนุญาตโฆษณาที่แตกต่างกันสําหรับผู้ใช้ สถานะต่างๆ มีดังนี้

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

googlefc.ccpa.overrideDnsLink{undefined|boolean}

ตั้งค่าช่องนี้เป็น "จริง" เพื่อซ่อนลิงก์ "ห้ามขาย" ที่เป็นค่าเริ่มต้นและใช้ลิงก์ "ห้ามขาย" ที่กําหนดเอง

ตัวอย่าง:

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

วิธีการ: คําอธิบายและตัวอย่าง

googlefc.getConsentStatus(): {number}


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

  1. ซึ่งโดยปกติจะเป็นรายการที่ว่างเปล่าเมื่อเรียกใช้

googlefc.showRevocationMessage(): {undefined}

ล้างบันทึกคํายินยอมปัจจุบันและแสดงข้อความขอความยินยอมที่สามารถใช้ได้กับผู้ใช้รายนี้ คีย์ที่ควรระบุสําหรับฟังก์ชันนี้คือ CONSENT_DATA_READY

ตัวอย่าง:

<button type="button" onclick="googlefc.callbackQueue.push({'CONSENT_DATA_READY': () => googlefc.showRevocationMessage()});">
  Click here to revoke
</button>

googlefc.getAdBlockerStatus(): {number}

แสดงผลค่าใน AdBlockerStatusEnum ขึ้นอยู่กับสถานะการบล็อกโฆษณา ของผู้ใช้ คีย์ที่ควรระบุสําหรับฟังก์ชันนี้คือ AD_BLOCK_DATA_READY

ตัวอย่าง:

<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({
    '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}

แสดงผลค่าใน AllowAdsStatusEnum ขึ้นอยู่กับสถานะการอนุญาตของผู้ใช้ คีย์ที่ควรระบุสําหรับฟังก์ชันนี้คือ AD_BLOCK_DATA_READY

ตัวอย่าง:

<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({
    '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.ccpa.getInitialCcpaStatus(): {number}

แสดงผลค่าใน InitialCcpaStatusEnum ขึ้นอยู่กับสถานะ CPRA ของผู้ใช้ คีย์ที่ควรระบุสําหรับฟังก์ชันนี้คือ INITIAL_CCPA_DATA_READY โปรดทราบว่าคุณควรส่งคําขอข้อมูล CPRA ที่ตามมา โดยเรียก US Privacy API (__uspapi) โดยตรง

ตัวอย่าง:

<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 the user is not CPRA eligible.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT:
          // Insert handling for cases where the user is CPRA eligible and has
          // not opted out.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.OPTED_OUT:
          // Insert handling for cases where the user is CPRA eligible and has
          // opted out.
          break;
      }
    }
  });
</script>

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

เปิดกล่องโต้ตอบการยืนยัน CPRA หากมีการลบล้างลิงก์ "ห้ามขาย" ตามค่าเริ่มต้น เมื่อผู้ใช้โต้ตอบกับกล่องโต้ตอบการยืนยัน ระบบจะเรียกฟังก์ชันการเรียกกลับที่ให้มาด้วย true หากผู้ใช้ตัดสินใจไม่เข้าร่วม และ false หากไม่ใช่

ตัวอย่าง:

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

หากคุณใช้โซลูชันการจัดการคํายินยอมของ Google เพื่อรวบรวมคํายินยอมตาม GDPR ภายใต้กรอบ TCF เวอร์ชัน 2.0 ของ IAB คุณควรใช้ IAB TCF v2 API

คุณสามารถใช้CONSENT_API_READY

คีย์คิวเรียกกลับเพื่อตรวจสอบว่าจะมีการเรียกกลับที่เกี่ยวข้องเกิดขึ้นเมื่อมีการกําหนด API ของ IAB TCF v2 บนหน้าเว็บเท่านั้น ควรใช้ร่วมกับคําสั่ง IAB TCF v2 API 'addEventListener' เนื่องจากคํายินยอมของผู้ใช้ที่เรียกโดยใช้คําสั่ง 'getTCData' แบบซิงโครนัสอาจยังไม่พร้อมใช้งาน

ตัวอย่าง:

<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.0, (data, success) => {
      // Do something with consent data value; this callback may be invoked
      // multiple times as user completes consent flow.
    })
  });
</script>

คุณสามารถใช้CONSENT_DATA_READY

คีย์คิวเรียกกลับเพื่อตรวจสอบว่าจะมีการเรียกกลับที่เกี่ยวข้องเฉพาะเมื่อมีการรวบรวมคํายินยอมจากผู้ใช้และเข้าถึงได้โดยใช้ API ของ TCF เวอร์ชัน 2 ของ IAB การดําเนินการนี้จะใช้ร่วมกับคําสั่ง 'getTCData' ได้ เนื่องจากคุณดึงสถานะความยินยอมของผู้ใช้โดยใช้วิธีซิงโครนัสได้

ตัวอย่าง:

<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('getTCData', 2.0, (data, success) => {
      // Do something with consent data value.
    })
  });
</script>

การใช้โซลูชันการจัดการคํายินยอมของ Google กับเฟรมเวิร์ก IAB GPP สําหรับ CPRA

หากคุณใช้โซลูชันการจัดการคํายินยอมของ Google เพื่อรวบรวมการไม่ให้ความยินยอมตาม CPRA ภายใต้เฟรมเวิร์ก IAB GPP คุณควรใช้ IAB GPP API

เนื่องจากลักษณะการเลือกไม่ใช้ตามกฎระเบียบ CPRA คุณอาจใช้คีย์คิวเรียกกลับของ CONSENT_API_READY หรือ CONSENT_DATA_READY เพื่อดูแลให้ IAB GPP API สามารถเรียกได้และข้อมูลคํายินยอมที่กลับมาเมื่อมีการเรียกโค้ดเรียกกลับ

<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.
  window.googlefc.callbackQueue.push({
    'CONSENT_DATA_READY':
    () => __uspapi('getUSPData', 1, (data, success) => {
      // Do something with consent data value.
    })
  });
</script>

การใช้โซลูชันการจัดการความยินยอมของ Google กับเฟรมเวิร์ก IAB GPP สําหรับ CPRA พร้อมลิงก์ "ห้ามขาย" ที่กําหนดเอง

หากคุณใช้โซลูชันการจัดการความยินยอมของ Google เพื่อรวบรวมการไม่ให้ความยินยอมตาม CPRA ภายใต้เฟรมเวิร์ก IAB GPP ก็ให้ระบุลิงก์ "ไม่ขาย" ที่กําหนดเองด้วยการตั้งค่าแฟล็ก googlefc.ccpa.overrideDnsLink เป็น true

<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 || [];

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

  // Register the callback for the initial CPRA data.
  window.googlefc.callbackQueue.push({
      'INITIAL_CCPA_DATA_READY': () => {
        if (googlefc.ccpa.getInitialCcpaStatus() ===
            googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT) {
          // TODO: Display custom CPRA Do Not Sell link here.
        }
      }
    });
</script>

ซึ่งช่วยให้มั่นใจได้ว่าลิงก์ "ห้ามขาย" เริ่มต้นจะไม่แสดง โปรดทราบว่าคุณต้องเป็นผู้รับผิดชอบในการแสดงลิงก์ "ไม่ขาย" ของตัวเองเพื่อให้สอดคล้องกับ CPRA จากนั้น คุณต้องจัดการการโต้ตอบของผู้ใช้กับลิงก์ "ห้ามขาย" ที่กําหนดเองโดยการเรียกใช้กล่องโต้ตอบการยืนยัน CPRA

<script>
// This callback will be called with the user CPRA decision.
const ccpaCompletionCallback = (userOptedOut) => {
  if (userOptedOut) {
    // TODO: Hide custom CPRA Do Not Sell link here.
  }
}
// Invoke the CPRA confirmation dialog when the user clicks the link.
document.getElementById("your-custom-ccpa-do-not-sell-link").addEventListener(
  "click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>