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

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

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

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

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

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

สิ่งที่ต้องทำเพื่อตั้งค่าโหมดความยินยอม

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

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

  1. เปิดไฟล์ AndroidManifest.xml ของแอป
  2. เพิ่มคู่คีย์-ค่าของโหมดความยินยอม โดยคีย์จะอธิบายประเภทความยินยอม และค่าจะระบุสถานะความยินยอม ค่าอาจเป็น 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
  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)
}

หากผู้ใช้ตัดสินใจที่จะเพิกถอนความยินยอม โปรดตรวจสอบว่าคุณได้อัปเดตสถานะความยินยอมตามนั้นแล้ว

Google มุ่งมั่นที่จะสร้างระบบนิเวศการโฆษณาดิจิทัลที่ไม่ละเมิดความเป็นส่วนตัวอย่างต่อเนื่อง เราจึงเพิ่มความเข้มงวดในการบังคับใช้นโยบายความยินยอมของผู้ใช้ EU

ดูข้อมูลเพิ่มเติมเกี่ยวกับการอัปเดตโหมดความยินยอมสําหรับการเข้าชมในเขตเศรษฐกิจยุโรป (EEA) ของ Google

ผู้ใช้โหมดความยินยอมต้องส่งพารามิเตอร์ใหม่ 2 รายการนอกเหนือจากพื้นที่เก็บข้อมูลโฆษณาและพื้นที่เก็บข้อมูลวิเคราะห์

  1. อัปเดต 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" />
    ```
    
  2. อัปเดตการเรียกความยินยอมให้รวมพารามิเตอร์สําหรับข้อมูลผู้ใช้โฆษณาและการปรับโฆษณาตามโปรไฟล์ของผู้ใช้

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

คุณยืนยันว่าการตั้งค่าความยินยอมทำงานตามที่ต้องการได้โดยดูข้อความบันทึกของแอป

โปรดทำตามขั้นตอนต่อไปนี้

  1. เปิดใช้การบันทึกแบบละเอียดในอุปกรณ์
  2. ใน Logcat ของ Android Studio ให้ค้นหาข้อความบันทึกที่ขึ้นต้นด้วย Setting consent ตัวอย่างเช่น หากเปิดใช้พื้นที่เก็บข้อมูลโฆษณา คุณจะเห็นข้อความบันทึกต่อไปนี้

    Setting consent, ... AD_STORAGE=granted