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

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

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

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

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

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

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

  1. ก่อนที่ผู้ใช้จะให้ความยินยอม: ปิดใช้การรวบรวมข้อมูลของ Analytics ชั่วคราว
  2. ตั้งค่าสถานะความยินยอมเริ่มต้น
  3. อัปเดตสถานะความยินยอมตามการโต้ตอบของผู้ใช้กับการตั้งค่าความยินยอม
  4. เปิดใช้การรวบรวมข้อมูล Analytics อีกครั้ง

ปิดใช้การรวบรวมข้อมูลของ Analytics ชั่วคราว

การใช้งานโหมดความยินยอมพื้นฐานหมายถึงการบล็อก SDK ของ Google Analytics สำหรับ Firebase ไม่ให้โหลดจนกว่าผู้ใช้จะให้ความยินยอม

หากต้องการปิดใช้การรวบรวมข้อมูลของ Analytics ชั่วคราว ให้ตั้งค่า FIREBASE_ANALYTICS_COLLECTION_ENABLED เป็น false (บูลีน) ในไฟล์ Info.plist ของแอป เช่น ดูใน XML แหล่งที่มา ดังนี้

<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key><false/>

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

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

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

<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>

เปิดใช้การรวบรวมข้อมูล Analytics อีกครั้ง

หลังจากที่ผู้ใช้ให้ความยินยอมแล้ว ให้เปิดใช้การรวบรวม Analytics อีกครั้งโดยใช้เมธอดอินสแตนซ์ setAnalyticsCollectionEnabled()

ค่าที่เมธอด setAnalyticsCollectionEnabled กำหนดจะยังคงอยู่ในการเรียกใช้แอปและลบล้างค่าของ firebase_analytics_collection_enabled ในไฟล์ Info.plist ของแอป เมื่อคุณกำหนดค่าให้กับ setAnalyticsCollectionEnabled แล้ว การรวบรวมข้อมูลของ Analytics จะยังคงอยู่ในสถานะนั้นจนกว่าจะมีการเรียกใช้ setAnalyticsCollectionEnabled อีกครั้ง แม้ว่าผู้ใช้จะปิดและเปิดแอปอีกครั้งก็ตาม

วิธีอัปเดตการรวบรวมข้อมูลของ Analytics

Swift

swift Analytics.setAnalyticsCollectionEnabled(true)

Objective-C

obj-c [FIRAnalytics setAnalyticsCollectionEnabled:YES];

หากต้องการอัปเดตค่าความยินยอมหลังจากเปิดแอปแล้ว ให้เรียกใช้เมธอด setConsent

ค่าที่เมธอด setConsent กำหนดจะลบล้างการตั้งค่าเริ่มต้นและมีผลตลอดการทำงานของแอป ค่าจะยังอยู่ในสถานะนี้จนกว่าจะมีการเรียกใช้ setConsent อีกครั้ง แม้ว่าผู้ใช้จะปิดและเปิดแอปอีกครั้งก็ตาม setConsent จะอัปเดตเฉพาะพารามิเตอร์ที่คุณระบุเท่านั้น

หากผู้ใช้ถอนความยินยอมที่เคยให้ไว้กับ Analytics หรือพื้นที่เก็บข้อมูลโฆษณา Google Analytics จะลบพร็อพเพอร์ตี้ผู้ใช้ทั้งหมด รวมถึงความยินยอมสําหรับ ad_personalization ด้วย หากต้องการรักษาตัวเลือกความยินยอมของผู้ใช้สำหรับการปรับโฆษณาตามโปรไฟล์ของผู้ใช้ไว้ ให้คืนค่า ค่าก่อนหน้าสำหรับการปรับโฆษณาตามโปรไฟล์ของผู้ใช้โดยใช้ setConsent (Swift | Obj-C)

ตัวอย่างต่อไปนี้แสดงเมธอด setConsent ซึ่งอัปเดตค่าความยินยอมต่างๆ เป็น granted

Swift

Analytics.setConsent([
  .analyticsStorage: .granted,
  .adStorage: .granted,
  .adUserData: .granted,
  .adPersonalization: .granted,
])

Objective-C

[FIRAnalytics setConsent:@{
FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
FIRConsentTypeAdStorage : FIRConsentStatusGranted,
FIRConsentTypeAdUserData : FIRConsentStatusGranted,
FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
}];

หากผู้ใช้ตัดสินใจเพิกถอนความยินยอม อย่าลืมอัปเดตสถานะความยินยอมให้สอดคล้องกันและปิดใช้การรวบรวมข้อมูลของ Analytics อีกครั้งโดยใช้ setAnalyticsCollectionEnabled()

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

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

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

  1. อัปเดต info.plist ของแอปให้รวมข้อมูลต่อไปนี้

    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>
    
  2. อัปเดตการเรียกความยินยอมให้รวมพารามิเตอร์สำหรับข้อมูลผู้ใช้โฆษณาและการปรับโฆษณาตามโปรไฟล์ของผู้ใช้ ดังนี้

    Swift

    Analytics.setConsent([
    .analyticsStorage: .granted,
    .adStorage: .granted,
    .adUserData: .granted,
    .adPersonalization: .granted,
    ])
    

    Objective-C

    [FIRAnalytics setConsent:@{
      FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdUserData : FIRConsentStatusGranted,
      FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
    }];
    

คุณตรวจสอบได้ว่าการตั้งค่าความยินยอมทํางานตามที่ต้องการโดยดูคอนโซลแก้ไขข้อบกพร่องของ Xcode สําหรับแอป

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

  1. เปิดใช้การบันทึกแบบละเอียด ในอุปกรณ์
  2. ในคอนโซลดีบักของ Xcode ให้มองหาข้อมูลต่อไปนี้

    • ad_storage
    • analytics_storage
    • ad_user_data
    • ad_personalization

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

    ad_storage is granted.