เกริ่นนำ
API นี้มีเครื่องมือในการโต้ตอบกับข้อความที่นำเสนอโดยแท็บความเป็นส่วนตัวและข้อความ โดยคุณสามารถทำสิ่งต่อไปนี้
- ระงับการรับส่งข้อความสำหรับผู้ใช้ที่กำหนด
- ค้นหาสถานะการบล็อกโฆษณาของผู้ใช้
- อนุญาตให้ผู้ใช้เพิกถอนความยินยอม (หากมี)
คุณยังสามารถใช้เครื่องมือเหล่านี้เพื่อรวบรวมความยินยอมของผู้ใช้โดยใช้โปรโตคอลมาตรฐานอุตสาหกรรมบางโปรโตคอลได้ด้วย
- ความยินยอมตาม GDPR โดยใช้ข้อกําหนด TCF เวอร์ชัน 2 ของ IAB
- การเลือกไม่ใช้ CPRA โดยใช้ข้อกำหนด CPRA ของ IAB GPP
ในกรณีดังกล่าว API เหล่านั้นจะแจ้งสถานะความยินยอม
คุณใช้ฟังก์ชันการรับส่งข้อความถึงผู้ใช้นี้ในเว็บไซต์ได้ 2-3 วิธี ดังนี้
- ในกรณีส่วนใหญ่ คุณไม่จําเป็นต้องติดแท็กใหม่เลย แท็กผู้เผยแพร่โฆษณาของ Google หรือแท็ก AdSense ที่มีอยู่จะใช้ข้อความของผู้ใช้เมื่อมีการเผยแพร่ข้อความในผลิตภัณฑ์ที่เกี่ยวข้อง
- หากคุณใช้ข้อความการกู้คืนรายได้จากการบล็อกโฆษณา คุณต้องเพิ่มแท็กการบล็อกโฆษณาลงในหน้าเว็บอย่างชัดแจ้ง ดูข้อมูลเพิ่มเติมได้ที่วิธีการติดแท็ก Ad Manager และ AdSense
googlefc
เป็นเนมสเปซส่วนกลางที่ฟังก์ชันการรับส่งข้อความของผู้ใช้ใช้สำหรับ API ใน JavaScript Window
ข้อมูลสรุปในช่อง
ชื่อ | ประเภท | คำจำกัดความ |
---|---|---|
googlefc.controlledMessagingFunction
|
ฟังก์ชัน(!Object) | ฟังก์ชันที่กําหนดว่าจะดําเนินการรับส่งข้อความใดๆ ต่อไปหรือไม่ ฟังก์ชันนี้ใช้ได้ในข้อความทุกประเภท |
googlefc.callbackQueue
|
!Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue | ใช้อ้างอิงคิวโค้ดเรียกกลับเพื่อเรียกใช้คำค้นหาการรับส่งข้อความของผู้ใช้แบบอะซิงโครนัส |
googlefc.CallbackQueue
|
!ออบเจ็กต์ | ประเภทของออบเจ็กต์คิวการโทรกลับ |
googlefc.AdBlockerStatusEnum
|
!Object<สตริง, ตัวเลข> | enum เพื่อแสดงสถานะตัวบล็อกโฆษณาของผู้ใช้ |
googlefc.AllowAdsStatusEnum
|
!Object<สตริง, ตัวเลข> | enum ที่ใช้แทนสถานะอนุญาตโฆษณาของผู้ใช้ |
googlefc.ccpa.InitialCcpaStatusEnum
|
!Object<สตริง, ตัวเลข> | enum ที่จะแสดงสถานะ CPRA เริ่มต้นของผู้ใช้ |
googlefc.ccpa.overrideDnsLink
|
undefined|boolean | บูลีนที่สามารถตั้งค่าเป็น "จริง" เพื่อใช้ลิงก์ "ห้ามขาย" ที่กำหนดเอง |
สรุปเมธอด
ชื่อ | ประเภทการแสดงผล | คำจำกัดความ |
---|---|---|
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 ระบุได้ว่าควรระงับเฉพาะ Offerwall เท่านั้น ข้อความประเภทอื่นๆ จะไม่ได้รับผลกระทบเมื่อฟีเจอร์นี้มีผล
การรับส่งข้อความที่มีการควบคุมเฉพาะของ Offerwall จะดำเนินการโดยการส่งพารามิเตอร์เพิ่มเติมไปยัง message.proceed()
ซึ่งเป็น Array
ประเภท googlefc.MessageTypeEnum
ตัวอย่างเช่น นี่คือตัวอย่างของการใช้ 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>
ใช้อ้างอิงคิวโค้ดเรียกกลับส่วนกลางสำหรับการเรียกใช้แบบอะซิงโครนัสสำหรับการเรียกที่เกี่ยวข้องกับการรับส่งข้อความ วิธีเดียวที่รองรับในการเรียกใช้ฟังก์ชันคือการเพิ่มฟังก์ชันลงใน 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}
ตั้งค่าช่องนี้เป็น true เพื่อซ่อนลิงก์ "ไม่อนุญาตให้ขาย" เริ่มต้นและใช้ลิงก์ "ไม่อนุญาตให้ขาย" ที่กำหนดเอง
เช่น
<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>}
- ซึ่งระบบจะแสดงรายการที่ว่างเปล่าขึ้นมาเสมอเมื่อเรียกใช้
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 กับ TCF เวอร์ชัน 2 ของ IAB สำหรับ GDPR
หากใช้โซลูชันการจัดการความยินยอมของ Google เพื่อรวบรวมความยินยอมตาม GDPR ภายใต้เฟรมเวิร์ก TCF เวอร์ชัน 2 ของ IAB คุณควรใช้ API TCF เวอร์ชัน 2 ของ IAB
คุณสามารถใช้คีย์คิวเรียกกลับของ CONSENT_API_READY
เพื่อให้แน่ใจว่าจะมีการเรียกใช้โค้ดเรียกกลับที่เกี่ยวข้องเฉพาะเมื่อมีการกำหนด API TCF เวอร์ชัน 2 ของ IAB ในหน้าเท่านั้น ซึ่งควรใช้ร่วมกับคำสั่ง 'addEventListener'
ของ IAB TCF v2 API
เช่น
<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>
คุณสามารถใช้คีย์คิวโค้ดเรียกกลับของ CONSENT_DATA_READY
เพื่อให้แน่ใจว่าจะมีการเรียกใช้โค้ดเรียกกลับที่เกี่ยวข้องเฉพาะเมื่อมีการรวบรวมและเข้าถึงความยินยอมของผู้ใช้โดยใช้ IAB TCF v2 API เท่านั้น
ซึ่งสามารถใช้ร่วมกับคําสั่ง 'addEventListener'
ได้ ข้อมูลที่ให้ไว้ในการเรียกใช้ครั้งแรกของโค้ดเรียกกลับที่ระบุจะมีการเลือกความยินยอมของผู้ใช้ (ตราบใดที่ TCF เวอร์ชัน 2 มีผลกับผู้ใช้รายนี้) โปรดทราบว่าการเปิดตัว TCF เวอร์ชัน 2.2 จะทำให้เลิกใช้งานคำสั่ง '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('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 กับกรอบ GPP ของ IAB สำหรับ CPRA
หากคุณใช้โซลูชันการจัดการความยินยอมของ Google เพื่อรวบรวมการเลือกไม่ใช้ CPRA ภายใต้เฟรมเวิร์ก GPP ของ IAB คุณควรใช้ 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 กับกรอบ GPP ของ IAB สำหรับ CPRA ที่มีลิงก์ "ไม่อนุญาตให้ขาย" ที่กำหนดเอง
หากใช้โซลูชันการจัดการความยินยอมของ Google เพื่อรวบรวมการเลือกไม่ใช้ CPRA ภายใต้เฟรมเวิร์ก GPP ของ IAB คุณระบุลิงก์ "ไม่อนุญาตให้ขาย" ที่กำหนดเองได้โดยการตั้งค่า 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>