สร้างโหมดความยินยอมสําหรับแอป

หน้านี้มีไว้สำหรับนักพัฒนาแอปที่ใช้ SDK ของ Google Analytics สำหรับ Firebase ในแอปของตนและต้องการผสานรวมโหมดความยินยอม หากต้องการข้อมูลเบื้องต้นเกี่ยวกับโหมดความยินยอม ให้อ่านภาพรวมของโหมดความยินยอม

Google Analytics มีโหมดความยินยอมในการปรับลักษณะการทำงานของ SDK ตามสถานะความยินยอมของผู้ใช้ คุณสามารถใช้โหมดความยินยอมด้วยวิธีพื้นฐานหรือขั้นสูง หากไม่แน่ใจว่าจะใช้โหมดความยินยอมพื้นฐานหรือขั้นสูง โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับโหมดความยินยอมพื้นฐานเทียบกับขั้นสูง และตรวจสอบหลักเกณฑ์ของบริษัท

ก่อนเริ่มต้น

ก่อนจะจัดการความยินยอมของผู้ใช้ได้ คุณจะต้องมีสิ่งต่อไปนี้

  • SDK ของ Google Analytics สำหรับ Firebase
  • แบนเนอร์การตั้งค่าความยินยอมเพื่อบันทึกความยินยอมของผู้ใช้

หากต้องการตั้งค่าโหมดความยินยอม คุณต้องทำดังนี้

  1. ตั้งค่าสถานะความยินยอมเริ่มต้น

ไม่มีการตั้งค่าโหมดความยินยอมโดยค่าเริ่มต้น วิธีตั้งค่าสถานะความยินยอมเริ่มต้นสำหรับแอป

  1. เปิดไฟล์ AndroidManifest.xml ของแอป
  2. เพิ่มคู่คีย์-ค่าของโหมดความยินยอม คีย์จะอธิบายประเภทความยินยอม และค่าจะระบุสถานะความยินยอม ค่าอาจเป็น true หมายความว่าได้รับความยินยอมแล้ว หรือ false หมายความว่าไม่ยินยอม ตั้งค่าต่อไปนี้

    • 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
  3. บันทึกการเปลี่ยนแปลง ถัดไป ให้ใช้กลไกในการอัปเดตค่าความยินยอม

เช่น หากต้องการตั้งค่าความยินยอมในการให้สิทธิ์ทั้งหมดสำหรับพารามิเตอร์ทั้งหมดโดยค่าเริ่มต้น ให้ทำดังนี้

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