หน้านี้มีไว้สำหรับนักพัฒนาแอปที่ใช้ SDK ของ Google Analytics สำหรับ Firebase ในแอปของตนและต้องการผสานรวมโหมดความยินยอม หากต้องการข้อมูลเบื้องต้นเกี่ยวกับโหมดความยินยอม ให้อ่านภาพรวมของโหมดความยินยอม
Google Analytics มีโหมดความยินยอมเพื่อปรับลักษณะการทํางานของ SDK โดยอิงตามสถานะความยินยอมของผู้ใช้ คุณสามารถใช้โหมดความยินยอมด้วยวิธีพื้นฐานหรือขั้นสูง หากไม่แน่ใจว่าควรใช้โหมดความยินยอมพื้นฐานหรือขั้นสูง โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับโหมดความยินยอมพื้นฐานกับโหมดความยินยอมขั้นสูงและตรวจสอบหลักเกณฑ์ของบริษัท
ก่อนเริ่มต้น
คุณต้องติดตั้งใช้งานสิ่งต่อไปนี้ก่อนจึงจะจัดการความยินยอมของผู้ใช้ได้
- SDK ของ Google Analytics สําหรับ Firebase
แบนเนอร์การตั้งค่าความยินยอมเพื่อบันทึกความยินยอมของผู้ใช้
สร้างโหมดความยินยอม
สิ่งที่ต้องทำเพื่อตั้งค่าโหมดความยินยอม
ตั้งค่าสถานะความยินยอมเริ่มต้น
ระบบไม่ได้กำหนดค่าโหมดความยินยอมใดๆ ไว้โดยค่าเริ่มต้น วิธีตั้งค่าสถานะความยินยอมเริ่มต้นสําหรับแอป
- เปิดไฟล์ AndroidManifest.xml ของแอป
เพิ่มคู่คีย์-ค่าของโหมดความยินยอม โดยคีย์จะอธิบายประเภทความยินยอม และค่าจะระบุสถานะความยินยอม ค่าอาจเป็น
true
ซึ่งหมายความว่าความยินยอมได้รับอนุญาต หรือfalse
ซึ่งหมายความว่าความยินยอมถูกปฏิเสธตามการอัปเดตโหมดความยินยอมสําหรับการเข้าชมในเขตเศรษฐกิจยุโรป (EEA) คุณสามารถกําหนดค่า
eu_consent_policy
สําหรับad_user_data
และad_personalization
ซึ่งหมายความว่าระบบจะปฏิเสธความยินยอมสําหรับผู้ใช้ในภูมิภาคที่อยู่ภายใต้นโยบายความยินยอมของผู้ใช้ EU เท่านั้นตั้งค่าต่อไปนี้
google_analytics_default_allow_analytics_storage
google_analytics_default_allow_ad_storage
google_analytics_default_allow_ad_user_data
google_analytics_default_allow_ad_personalization_signals
บันทึกการเปลี่ยนแปลง ถัดไป ให้ใช้กลไกเพื่ออัปเดตค่าความยินยอม
ตัวอย่างเช่น วิธีตั้งค่าความยินยอมในการให้สิทธิ์ทั้งหมดสำหรับพารามิเตอร์ทั้งหมดโดยค่าเริ่มต้น
<meta-data android:name="google_analytics_default_allow_analytics_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />
อัปเดตความยินยอม
หากต้องการอัปเดตค่าความยินยอมหลังจากเปิดตัวแอปแล้ว ให้เรียกใช้เมธอด setConsent
ค่าที่กําหนดโดยเมธอด setConsent
จะลบล้างการตั้งค่าเริ่มต้นและมีผลอยู่ตลอดการเรียกใช้แอป ค่าจะยังคงอยู่ในสถานะนั้นจนกว่าจะมีการเรียกใช้ setConsent
อีกครั้ง แม้ว่าผู้ใช้จะปิดและเปิดแอปอีกครั้งก็ตาม setConsent
จะอัปเดตเฉพาะพารามิเตอร์ที่คุณระบุเท่านั้น
หากผู้ใช้ถอนความยินยอมสำหรับ Analytics หรือพื้นที่เก็บข้อมูลของโฆษณาก่อนหน้านี้ Google Analytics จะลบพร็อพเพอร์ตี้ผู้ใช้ทั้งหมด รวมถึงความยินยอมสำหรับ
ad_personalization
หากต้องการเก็บค่าความยินยอมของผู้ใช้สําหรับการปรับโฆษณาตามโปรไฟล์ของผู้ใช้ ให้กู้คืนค่าก่อนหน้าสําหรับการปรับโฆษณาตามโปรไฟล์ของผู้ใช้โดยใช้setConsent
(Kotlin+KTX | Java)
ตัวอย่างต่อไปนี้แสดงเมธอด setConsent
ที่จะอัปเดตค่าความยินยอมต่างๆ เป็น granted
Java
// Set consent types.
Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);
mFirebaseAnalytics.setConsent(consentMap);
Kotlin
Firebase.analytics.setConsent {
analyticsStorage(ConsentStatus.GRANTED)
adStorage(ConsentStatus.GRANTED)
adUserData(ConsentStatus.GRANTED)
adPersonalization(ConsentStatus.GRANTED)
}
หากผู้ใช้ตัดสินใจที่จะเพิกถอนความยินยอม โปรดตรวจสอบว่าคุณได้อัปเดตสถานะความยินยอมตามนั้นแล้ว
อัปเกรดเป็นโหมดความยินยอม v2
Google มุ่งมั่นที่จะสร้างระบบนิเวศการโฆษณาดิจิทัลที่ไม่ละเมิดความเป็นส่วนตัวอย่างต่อเนื่อง เราจึงเพิ่มความเข้มงวดในการบังคับใช้นโยบายความยินยอมของผู้ใช้ EU
ดูข้อมูลเพิ่มเติมเกี่ยวกับการอัปเดตโหมดความยินยอมสําหรับการเข้าชมในเขตเศรษฐกิจยุโรป (EEA) ของ Google
ผู้ใช้โหมดความยินยอมต้องส่งพารามิเตอร์ใหม่ 2 รายการนอกเหนือจากพื้นที่เก็บข้อมูลโฆษณาและพื้นที่เก็บข้อมูลวิเคราะห์
อัปเดต AndroidManifest.xml ของแอปให้รวมข้อมูลต่อไปนี้
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" /> <meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" /> ```
อัปเดตการเรียกความยินยอมให้รวมพารามิเตอร์สําหรับข้อมูลผู้ใช้โฆษณาและการปรับโฆษณาตามโปรไฟล์ของผู้ใช้
Java
// Set consent types. Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class); consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED); consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED); consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED); consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED); mFirebaseAnalytics.setConsent(consentMap);
Kotlin
Firebase.analytics.setConsent { analyticsStorage(ConsentStatus.GRANTED) adStorage(ConsentStatus.GRANTED) adUserData(ConsentStatus.GRANTED) adPersonalization(ConsentStatus.GRANTED) }
ยืนยันการตั้งค่าความยินยอม
คุณยืนยันว่าการตั้งค่าความยินยอมทำงานตามที่ต้องการได้โดยดูข้อความบันทึกของแอป
โปรดทำตามขั้นตอนต่อไปนี้
- เปิดใช้การบันทึกแบบละเอียดในอุปกรณ์
ใน Logcat ของ Android Studio ให้ค้นหาข้อความบันทึกที่ขึ้นต้นด้วย
Setting consent
ตัวอย่างเช่น หากเปิดใช้พื้นที่เก็บข้อมูลโฆษณา คุณจะเห็นข้อความบันทึกต่อไปนี้Setting consent, ... AD_STORAGE=granted