ภายใต้นโยบายความยินยอมของผู้ใช้ EU ของ Googleคุณต้อง เปิดเผยข้อมูลบางอย่างต่อผู้ใช้ในเขตเศรษฐกิจยุโรป (EEA) สหราชอาณาจักร และสวิตเซอร์แลนด์ ตลอดจนได้รับความยินยอมในการใช้ คุกกี้หรือพื้นที่เก็บข้อมูลอื่นในเครื่องในกรณีที่กฎหมายกำหนด รวมถึงความยินยอมให้ใช้ข้อมูลส่วนตัว (เช่น AdID) เพื่อแสดงโฆษณา
นโยบายนี้เป็นผลมาจากข้อกำหนดด้าน ePrivacy และกฎระเบียบให้ความคุ้มครองข้อมูลส่วนบุคคลของผู้บริโภค (GDPR) ของสหภาพยุโรป
คู่มือนี้จะสรุปขั้นตอนที่จำเป็นในการรองรับข้อความ GDPR IAB TCF เวอร์ชัน 2 ซึ่งเป็นส่วนหนึ่งของ UMP SDK โดยมีวัตถุประสงค์ให้ใช้ควบคู่กับคู่มือเริ่มต้น ใช้งาน ซึ่งจะให้ภาพรวมเกี่ยวกับวิธีทำให้แอป ทำงานด้วย UMP SDK และข้อมูลเบื้องต้นเกี่ยวกับการตั้งค่าข้อความ คำแนะนำต่อไปนี้ใช้ได้กับข้อความ GDPR IAB TCF เวอร์ชัน 2 โดยเฉพาะ ดูข้อมูลเพิ่มเติมได้ที่ ข้อกำหนดของ IAB มีผลต่อข้อความขอความยินยอมในสหภาพยุโรปอย่างไร
ข้อกำหนดเบื้องต้น
การเพิกถอนความยินยอม
GDPR กำหนดให้มีการเพิกถอนความยินยอมเพื่อให้ผู้ใช้ถอนตัวเลือกความยินยอมได้ทุกเมื่อ ดู ตัวเลือกความเป็นส่วนตัว เพื่อใช้ช่องทางให้ผู้ใช้ถอนตัวเลือกความยินยอม
แท็กสำหรับผู้มีอายุต่ำกว่าอายุที่ให้ความยินยอมได้
หากต้องการระบุว่าผู้ใช้มีอายุต่ำกว่าอายุที่ให้ความยินยอมได้หรือไม่ ให้ตั้งค่า
setTagForUnderAgeOfConsent (TFUA) เมื่อตั้งค่า TFUA เป็น true UMP SDK จะไม่ขอความยินยอมจากผู้ใช้ หากแอปมีกลุ่มเป้าหมายที่หลากหลาย ให้ตั้งค่าพารามิเตอร์นี้สำหรับผู้ใช้ที่เป็นเด็กเพื่อให้มั่นใจว่าจะไม่มีการขอความยินยอม
ตัวอย่างต่อไปนี้จะตั้งค่า TFUA เป็น "จริง" ในคำขอความยินยอมของ UMP
Java
ConsentRequestParameters params = new ConsentRequestParameters
.Builder()
// Indicate the user is under age of consent.
.setTagForUnderAgeOfConsent(true)
.build();
consentInformation = UserMessagingPlatform.getConsentInformation(this);
consentInformation.requestConsentInfoUpdate(
this,
params,
(OnConsentInfoUpdateSuccessListener) () -> {
// ...
},
(OnConsentInfoUpdateFailureListener) requestConsentError -> {
// ...
});
Kotlin
val params = ConsentRequestParameters
.Builder()
// Indicate the user is under age of consent.
.setTagForUnderAgeOfConsent(true)
.build()
consentInformation = UserMessagingPlatform.getConsentInformation(this)
consentInformation.requestConsentInfoUpdate(
this,
params,
ConsentInformation.OnConsentInfoUpdateSuccessListener {
// ...
},
ConsentInformation.OnConsentInfoUpdateFailureListener {
requestConsentError ->
// ...
})
สื่อกลาง
ทำตามขั้นตอนใน เพิ่มพาร์ทเนอร์โฆษณาลงในข้อความ GDPR ที่เผยแพร่ เพื่อเพิ่มพาร์ทเนอร์สื่อกลางลงในรายชื่อพาร์ทเนอร์โฆษณา หากไม่ทำตามขั้นตอนดังกล่าว พาร์ทเนอร์อาจแสดงโฆษณาในแอปของคุณไม่ได้
พาร์ทเนอร์สื่อกลางอาจมีเครื่องมือเพิ่มเติมเพื่อช่วยในการปฏิบัติตามข้อกำหนดของ GDPR ด้วย ดูรายละเอียดเพิ่มเติมได้ในคู่มือการผสานรวม ของพาร์ทเนอร์แต่ละราย
วิธีอ่านตัวเลือกความยินยอม
หลังจากเก็บรวบรวมความยินยอมตาม GDPR แล้ว คุณจะอ่านตัวเลือกความยินยอมจากพื้นที่เก็บข้อมูลในเครื่องได้โดยทำตามข้อกำหนด
TCF เวอร์ชัน 2
คีย์ IABTCF_PurposeConsents จะระบุความยินยอมสำหรับ
วัตถุประสงค์แต่ละข้อของ TCF
ข้อมูลโค้ดต่อไปนี้แสดงวิธีตรวจสอบความยินยอมสำหรับวัตถุประสงค์ 1
Java
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "1111111111"
String purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "");
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isEmpty()) {
String purposeOneString = purposeConsents.charAt(0).toString();
boolean hasConsentForPurposeOne = purposeOneString.equals("1");
}
Kotlin
val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "1111111111"
val purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (purposeConsents?.isEmpty() == false) {
val purposeOneString = purposeConsents.first().toString()
val hasConsentForPurposeOne = purposeOneString == "1"
}
คำถามที่พบบ่อย
- จะเกิดอะไรขึ้นหากฉันไม่ดำเนินการใดๆ เพื่อให้เป็นไปตามข้อกำหนดของ แพลตฟอร์มการจัดการความยินยอม (CMP) สำหรับการแสดงโฆษณาใน EEA, สหราชอาณาจักร และสวิตเซอร์แลนด์
ตั้งแต่วันที่ 16 มกราคม 2024 เป็นต้นไป หากพาร์ทเนอร์ไม่ได้ใช้ CMP ที่ผ่านการรับรองจาก Google, พาร์ทเนอร์จะมีเพียง โฆษณาแบบจํากัด เท่านั้นที่มีสิทธิ์แสดงในการเข้าชมจาก EEA และสหราชอาณาจักร
เราจะเริ่มบังคับใช้ในวันที่ 16 มกราคม 2024 กับการเข้าชมจำนวนเล็กน้อยใน EEA และสหราชอาณาจักร แล้วจะเพิ่มสัดส่วนการบังคับใช้ขึ้นเรื่อยๆ ไปจนครบทุกการเข้าชมใน EEA และสหราชอาณาจักรภายในสิ้นเดือนกุมภาพันธ์ 2024 โปรดใช้ CMP ที่ได้รับการรับรองภายในวันที่ 16 มกราคม 2024 เพื่อให้รายได้ของคุณไม่ได้รับผลกระทบ
- ฉันจะตรวจสอบได้อย่างไรว่าผู้ใช้ให้ความยินยอมแล้ว
ความยินยอมไม่ได้แสดงด้วยบิตเดียว แต่แสดงด้วยชุดวัตถุประสงค์และ ผู้ให้บริการตามที่กำหนดไว้ในข้อกำหนด TCF ของ IAB ดูเกณฑ์การปรับโฆษณาตามโปรไฟล์ของผู้ใช้ของ Google Ads ได้ที่ นโยบายความยินยอม: โฆษณาที่ปรับและไม่ได้ปรับตามโปรไฟล์ของผู้ใช้
นอกจากนี้ เทคโนโลยีโฆษณาในรายชื่อผู้ให้บริการเทคโนโลยีโฆษณา (ATP) ของ Google ที่ไม่ได้ลงทะเบียนในรายชื่อผู้ให้บริการ TCF จะใช้ข้อกำหนดทางเทคนิคเกี่ยวกับความยินยอมเพิ่มเติมของ Google ในการเก็บรวบรวมความยินยอม Google จะเผยแพร่รายชื่อและรหัสของผู้ให้บริการเทคโนโลยีโฆษณาที่ไม่ได้ลงทะเบียนกับ IAB ไว้ที่ https://storage.googleapis.com/tcfac/additional-consent-providers.csv
หากต้องการแก้ไขข้อบกพร่องของคำขอโฆษณาแต่ละรายการ ให้ใช้ฟีเจอร์ แก้ไขปัญหาการตั้งค่าความเป็นส่วนตัว ในเครื่องมือตรวจสอบโฆษณาเพื่อดูสัญญาณความเป็นส่วนตัวต่อไปนี้ที่ส่งผ่านใน คำขอโฆษณาซึ่งเป็นส่วนหนึ่งของการ ผสานรวมผู้เผยแพร่โฆษณากับ TCF ของ IAB Europe:
ป้ายกำกับเครื่องมือตรวจสอบโฆษณา พารามิเตอร์การค้นหาคำขอโฆษณา ความหมาย ใช้ GDPR (IABTCF_gdprApplies) gdprระบุว่า GDPR มีผลกับคำขอโฆษณานี้หรือไม่ สตริง TC (IABTCF_TCString) gdpr_consentสตริง TC IAB มีเครื่องมือบนเว็บที่คุณสามารถถอดรหัสค่าด้วยตนเองได้ สตริง AC (IABTCF_AddtlConsent) addtl_consentสตริง AC จากข้อกำหนดทางเทคนิคเกี่ยวกับความยินยอมเพิ่มเติมของ Google หากต้องการอ่านตัวเลือกความยินยอมแบบเป็นโปรแกรม โปรดดูข้อมูลเพิ่มเติมที่ วิธีอ่านตัวเลือกความยินยอม
- ฉันต้องใช้ UMP SDK ของ Google เพื่อให้เป็นไปตามข้อกำหนด CMP ไหม
ไม่ คุณสามารถใช้ CMP ใดก็ได้จาก รายชื่อ CMP ที่ผ่านการรับรองจาก Google เพื่อแสดงโฆษณา
- ฉันจะแสดงแบบฟอร์มความยินยอมอีกครั้งโดยใช้ UMP SDK ได้อย่างไร แม้ว่าผู้ใช้จะให้ความยินยอมแล้วก็ตาม
หากผู้ใช้ตัดสินใจให้ความยินยอมแล้ว โซลูชันการจัดการความยินยอมของ Google จะไม่ขอเก็บรวบรวมความยินยอมใหม่จนกว่าสตริง TC จะหมดอายุหรือไม่ถูกต้อง
GDPR กำหนดให้มีการแก้ไขความยินยอมเพื่อให้ผู้ใช้ถอนตัวเลือกความยินยอมได้ทุกเมื่อ ดู ตัวเลือกความเป็นส่วนตัวเพื่อ ใช้ช่องทางให้ผู้ใช้ถอนตัวเลือกความยินยอม หากต้องการแสดงแบบฟอร์มความยินยอมอีกครั้ง ให้เรียก
showPrivacyOptionsForm()- ฉันผสานรวม CMP ที่ผ่านการรับรองจาก Google แล้ว แต่ไม่เห็นคำขอโฆษณาที่ส่งไปยังพาร์ทเนอร์สื่อกลาง แม้แต่จากผู้ใช้ที่ให้ความยินยอมแล้วก็ตาม เหตุใดจึงเป็นเช่นนี้
ภายใต้ TCF Google จะตรวจสอบว่าผู้ให้บริการเทคโนโลยีโฆษณาและแหล่งที่มาของดีมานด์โฆษณาแบบเป็นโปรแกรมอื่นๆ ไม่ได้ละเมิดนโยบายของ Google และมีพื้นฐานทางกฎหมายอย่างน้อย 1 อย่างในการประมวลผลข้อมูล ก่อนที่จะเพิ่มผู้ให้บริการและแหล่งที่มาดังกล่าวในการแสดงโฆษณาสื่อกลางตามลำดับขั้น ไปที่ ส่วนสื่อกลาง เพื่อดูข้อมูลเพิ่มเติม
พาร์ทเนอร์สื่อกลางบางรายใน รายชื่อผู้ให้บริการเทคโนโลยีโฆษณา (ATP) ของ Google ไม่ได้ลงทะเบียนในรายชื่อผู้ให้บริการ TCF พาร์ทเนอร์เหล่านี้จะใช้ ข้อกำหนดทางเทคนิคเกี่ยวกับความยินยอมเพิ่มเติมของ Google ในการเก็บรวบรวมความยินยอมแทน Google จะเผยแพร่รายชื่อและรหัสของผู้ให้บริการเทคโนโลยีโฆษณาที่ไม่ได้ลงทะเบียนกับ IAB ไว้ที่ https://storage.googleapis.com/tcfac/additional-consent-providers.csv
UMP SDK รองรับการจัดเก็บ ACString ซึ่งช่วยให้คุณ เพิ่มพาร์ทเนอร์โฆษณาลงในข้อความ GDPR ที่เผยแพร่ได้ โดยไม่ต้องทำความเข้าใจว่าพาร์ทเนอร์ลงทะเบียนกับ TCF หรือไม่ เมื่อใช้ CMP ของบุคคลที่สาม คุณควรทำดังนี้
- ยืนยันว่า CMP ของบุคคลที่สามรองรับการจัดเก็บ ACString
- เพิ่มพาร์ทเนอร์สื่อกลางแต่ละรายลงในรายชื่อผู้ให้บริการเทคโนโลยีโฆษณาที่ CMP ของบุคคลที่สามใช้ในการเก็บรวบรวมความยินยอม
- ฉันเปลี่ยนวิธีทำงานของแอปได้ไหมหากผู้ใช้ไม่ให้ความยินยอม นโยบายอนุญาตให้ทำเช่นนี้ไหม
ผู้เผยแพร่โฆษณาสามารถอ่านสตริง IAB TCF ในแอปของตนได้ ดูข้อมูลเกี่ยวกับการอ่านตัวเลือกความยินยอมแบบเป็นโปรแกรมได้ที่ วิธีอ่านตัวเลือกความยินยอม ผู้เผยแพร่โฆษณาควรปรึกษาทนายความเพื่อตรวจสอบภาระหน้าที่ของตนภายใต้กฎระเบียบที่เกี่ยวข้อง
- เมื่อฉันเลือกจัดการตัวเลือก และให้ความยินยอมสำหรับวัตถุประสงค์ทั้งหมดแล้ว แต่ไม่เห็นโฆษณา เหตุใดจึงเป็นเช่นนี้
นอกจากการเก็บรวบรวมความยินยอมสำหรับวัตถุประสงค์แล้ว คุณยังต้องเก็บรวบรวมความยินยอมจากผู้ให้บริการด้วย ผู้ให้บริการทุกราย เช่น Google จำเป็นต้องได้รับทั้งความยินยอมสำหรับวัตถุประสงค์และความยินยอมจากผู้ให้บริการจึงจะแสดงโฆษณาที่เหมาะสมได้
- ฉันจะใช้ AC String เวอร์ชัน 2 สำหรับผู้ใช้ที่ให้ความยินยอมสำหรับเวอร์ชัน 1 แล้วได้อย่างไร
ตรวจสอบคีย์
IABTCF_AddtlConsentในพื้นที่เก็บข้อมูลในเครื่องตาม ข้อกำหนดทางเทคนิคเกี่ยวกับความยินยอมเพิ่มเติมของ Google เพื่อดูว่าผู้ใช้ให้ความยินยอมสำหรับสตริง AC เวอร์ชัน 2 แล้วหรือไม่ และคุณ ต้องแสดงแบบฟอร์มความยินยอมอีกครั้งหรือไม่Java
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context); // Example value: "2~1.35.41.101~dv.9.21.81" String additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", ""); // Index 0 contains information about the specification version number. if (!additionalConsent.isEmpty()) { String specACVersion = additionalConsent.charAt(0); boolean isACVersion2 = purposeOneString.equals("2"); }Kotlin
val sharedPref = PreferenceManager.getDefaultSharedPreferences(context) // Example value: "2~1.35.41.101~dv.9.21.81" val additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "") // Index 0 contains information about the specification version number. if (!additionalConsent.isEmpty()) { val specACVersion = additionalConsent.first() val isACVersion2 = specACVersion == "2" }