เตรียมพร้อมสําหรับข้อกําหนดในการเปิดเผยข้อมูลใน App Store ของ Apple

Apple กําหนดให้นักพัฒนาแอปที่เผยแพร่แอปใน App Store ต้องเปิดเผยข้อมูลบางอย่างเกี่ยวกับการใช้ข้อมูลแอป

เอกสารนี้มีพฤติกรรมของไลบรารีแพลตฟอร์ม Apple ของ Firebase ซึ่งอาจต้องมีการเปิดเผยข้อมูลตามหลักเกณฑ์ของ Apple เมื่อติดตั้ง Firebase ให้จดเป้าหมายการสร้างที่เครื่องมือจัดการทรัพยากร Dependency ที่คุณเลือกติดตั้งลงในแอป สําหรับเป้าหมายแต่ละรายการที่เครื่องมือจัดการทรัพยากร Dependency Manager แสดง ให้อ่านส่วนที่เกี่ยวข้องของเอกสารนี้เพื่อดูว่าต้องเปิดเผยการเก็บรวบรวมข้อมูลใด จำนวนเป้าหมายการสร้าง Firebase ที่คุณติดตั้งไว้อาจมากกว่าจำนวนที่คุณคาดไว้ เนื่องจากเป้าหมายการสร้าง Firebase บางรายการมีการพึ่งพาเป้าหมายการสร้างอื่นๆ ชั่วคราว

หากคุณใช้ฟีเจอร์เสริม (ไม่บังคับ) ของผลิตภัณฑ์ที่มีข้อมูลเพิ่มเติม หรือเข้าร่วมการทดสอบฟีเจอร์ใหม่ของผลิตภัณฑ์ที่มีข้อมูลเพิ่มเติม โปรดตรวจสอบให้แน่ใจว่าฟีเจอร์หรือการทดสอบเหล่านั้นจำเป็นต้องมีการเปิดเผยข้อมูลเพิ่มเติมหรือไม่

เราขอแนะนําให้ใช้ Firebase SDK แต่ละรายการเป็นเวอร์ชันล่าสุดเสมอเพื่อให้การเปิดเผยของแอปคุณนั้นถูกต้อง

User Agent ของ Firebase

User Agent ของ Firebase คือกลุ่มข้อมูลที่รวบรวมจาก Firebase SDK ส่วนใหญ่ ซึ่งประกอบด้วยอุปกรณ์ ระบบปฏิบัติการ รหัส App Bundle และแพลตฟอร์มของนักพัฒนาแอป ทีม Firebase จะใช้ User Agent เพื่อระบุแพลตฟอร์มและเวอร์ชันที่ใช้เพื่อประกอบการตัดสินใจเกี่ยวกับฟีเจอร์ Firebase ให้ดียิ่งขึ้น โดยจะไม่ลิงก์ User Agent กับตัวระบุผู้ใช้หรืออุปกรณ์

FirebaseCore

  • ไม่เก็บรวบรวมข้อมูล

GoogleUtilities

  • ไม่เก็บรวบรวมข้อมูล แต่มียูทิลิตีการทํางานของเครือข่ายที่ SDK อื่นๆ อาจใช้เพื่อรวบรวมข้อมูล

GoogleDataTransport

รวมถึงยูทิลิตีการทํางานของเครือข่ายที่ SDK อื่นๆ อาจใช้เพื่อรวบรวมข้อมูล

รวบรวมเสมอ

  • รวบรวมข้อมูลเมตาเกี่ยวกับประสิทธิภาพของ SDK เช่น ขนาดแคชเหตุการณ์บันทึกของไคลเอ็นต์ และจํานวนเหตุการณ์บันทึกของไคลเอ็นต์ที่ลดลงด้วยเหตุผลต่างๆ เพื่อตรวจสอบและรักษาคุณภาพของผลิตภัณฑ์

FirebaseABTesting

การทดสอบ A/B จะไม่เก็บรวบรวมข้อมูล

Firebase A/B Testing SDK จะตั้งค่าและใช้พร็อพเพอร์ตี้ผู้ใช้ Google Analytics เพื่อระบุการเป็นสมาชิกในกลุ่มทดสอบสําหรับ Firebase Remote Config และ Firebase In-App Messaging

Google Analytics

ดูข้อมูลการเก็บรวบรวมข้อมูลของ Google Analytics ได้ในบทความสนับสนุนนี้

FirebaseAppCheck

รวบรวมโดยค่าเริ่มต้น

ขึ้นอยู่กับการใช้งาน

  • หากติดตั้งผู้ให้บริการ DeviceCheck แล้ว ให้รวบรวมโทเค็น DCDevice จาก DeviceCheck
  • หากติดตั้งผู้ให้บริการ App Attest แล้ว ให้รวบรวมทั้งออบเจ็กต์การรับรองและออบเจ็กต์การยืนยันจาก App Attest

FirebaseAppDistribution

App Distribution SDK มีไว้สำหรับการใช้งานการทดสอบเบต้าเท่านั้น อย่ารวม App Distribution SDK ไว้ในแอปพลิเคชันเมื่อส่งไปยัง App Store

FirebaseAuthentication

รวบรวมเสมอ

  • สร้างและจัดเก็บตัวระบุเพื่อวัตถุประสงค์ในการตรวจสอบสิทธิ์ผู้ใช้

รวบรวมโดยค่าเริ่มต้น

ขึ้นอยู่กับการใช้งาน

  • รวบรวมชื่อที่แสดง หากนักพัฒนาแอประบุชื่อที่แสดงสำหรับผู้ใช้
  • รวบรวมอีเมลของผู้ใช้ตามที่นักพัฒนาแอประบุไว้เมื่อใช้การตรวจสอบสิทธิ์ด้วยรหัสผ่านอีเมลหรือลิงก์อีเมล หรือตามที่ระบุไว้ในคำตอบจากผู้ให้บริการที่รวมศูนย์หากนักพัฒนาแอปใช้ข้อมูลประจำตัวที่รวมศูนย์
  • รวบรวมหมายเลขโทรศัพท์ของผู้ใช้ตามที่นักพัฒนาซอฟต์แวร์ให้ไว้เมื่อใช้การตรวจสอบสิทธิ์ทางโทรศัพท์ หรือหากมีการเพิ่มหมายเลขโทรศัพท์ของผู้ใช้เป็นวิธีการตรวจสอบสิทธิ์ นอกจากนี้ยังมีการรวบรวมระหว่างขั้นตอนการตรวจสอบสิทธิ์ทาง SMS เป็นปัจจัยที่สองด้วย
  • รวบรวมข้อมูลติดต่อที่เกี่ยวข้องกับผู้ให้บริการตรวจสอบสิทธิ์บุคคลที่สามหากนักพัฒนาแอปใช้ผู้ให้บริการตรวจสอบสิทธิ์บุคคลที่สามกับFirebase Authentication เช่น ตัวระบุของผู้ใช้อาจลิงก์กับโปรไฟล์ Facebook หากนักพัฒนาแอปใช้การตรวจสอบสิทธิ์ของ Facebook ทั้งนี้ขึ้นอยู่กับขอบเขตที่ได้รับ โปรดดูข้อมูลเพิ่มเติมในเอกสารประกอบของผู้ให้บริการตรวจสอบสิทธิ์
  • จัดเก็บรหัส Game Center ของผู้ใช้หากแอปลิงก์กับ Game Center
  • เก็บรวบรวมโทเค็นนี้หากแอปใช้ reCAPTCHA Enterprise เพื่อปกป้องโฟลว์ Authentication ดูรายละเอียดเพิ่มเติมเกี่ยวกับความเป็นส่วนตัวของ reCAPTCHA Enterprise ของ Apple

FirebaseCrashlytics

รวบรวมเสมอ

  • รวบรวมสแต็กเทรซและสถานะของแอปพลิเคชันที่เกี่ยวข้องเมื่อแอปพลิเคชันขัดข้อง
  • รวบรวมข้อมูลอุปกรณ์และระบบปฏิบัติการเพื่อช่วยแก้ไขข้อขัดข้อง

ขึ้นอยู่กับการใช้งาน

  • รวบรวมคีย์ที่กำหนดเอง บันทึก และรหัสผู้ใช้แบบข้อความอิสระที่นักพัฒนาแอปแนบมากับรายงานข้อขัดข้อง และยังรวบรวมเหตุการณ์ที่ไม่ร้ายแรงซึ่งนักพัฒนาแอปกำหนดไว้ด้วยสแต็กเทรซที่กำหนดเอง
  • รวบรวมบันทึก "เบรดครัมบ์" หากใช้ Crashlytics ร่วมกับ Google Analytics บันทึกเหล่านี้จะระบุการดําเนินการของผู้ใช้ก่อนเกิดข้อขัดข้องพร้อมกับจํานวนข้อขัดข้อง
  • รวบรวมข้อมูลส่วนต่างๆ ของRemote Configเทมเพลตและข้อมูลเมตาของเทมเพลตที่นักพัฒนาแอปกำหนดไว้ หากแอปมีFirebase Remote Config SDK รวมอยู่ด้วย ข้อมูลนี้ประกอบด้วยRemote Configเวอร์ชันของเทมเพลต รหัสตัวแปรการเปิดตัว คีย์พารามิเตอร์ และค่าพารามิเตอร์ที่ได้รับผลกระทบจากการเปิดตัวที่ใช้งานอยู่

FirebaseDatabase

รวบรวมโดยค่าเริ่มต้น

  • รวบรวมข้อมูลอุปกรณ์ชั่วคราว ซึ่งรวมถึงขนาดหน้าจอของอุปกรณ์ ภาษา เวอร์ชันระบบปฏิบัติการ รหัสกลุ่ม ที่อยู่ IP และเวอร์ชัน Firebase SDK สําหรับ Deep Link ที่เลื่อนเวลาไว้ (Deep Link หลังการติดตั้งแอป)
  • รวบรวม URL ของลิงก์แบบไดนามิกในเพสบอร์ดของอุปกรณ์ชั่วคราว (หากมี) เมื่อเปิดแอปครั้งแรก นักพัฒนาแอปสามารถปิดใช้การวาง clipboard ได้ด้วยการกําหนดพร็อพเพอร์ตี้ FirebaseDeepLinkPasteboardRetrievalEnabled เป็น NO ในไฟล์ Info.plist ของแอป

หากใช้ Dynamic Links ร่วมกับ Google Analytics ให้ทำดังนี้

  • บันทึกเหตุการณ์การโต้ตอบกับลิงก์โดยอัตโนมัติผ่าน Google Analytics หากต้องการปิดใช้การบันทึกเหตุการณ์อัตโนมัติ ให้นำ FirebaseAnalytics ออกจากแอป

FirebaseFirestore

รวบรวมโดยค่าเริ่มต้น

FirebaseFunctions

รวบรวมเสมอ

  • รวบรวมข้อมูลเมตาการเรียกใช้ฟังก์ชัน ซึ่งรวมถึงชื่อฟังก์ชันและที่อยู่ IP ของผู้เรียกใช้ฟังก์ชัน

FirebaseInAppMessaging

รวบรวมเสมอ

  • บันทึกการโต้ตอบกับข้อความในแอป ระบบจะบันทึกการโต้ตอบเหล่านี้ (การแสดงผล การคลิก การปิด) ผ่าน Google Analytics นอกจากนี้ Firebase ยังบันทึกการโต้ตอบเพื่อช่วยนักพัฒนาแอปประเมินประสิทธิภาพของแคมเปญการรับส่งข้อความด้วย

FirebaseInstallations

รวบรวมโดยค่าเริ่มต้น

FirebaseMessaging

รวบรวมเสมอ

  • บันทึกโทเค็น APNs และเชื่อมโยงกับรหัสการติดตั้งแอปที่รวบรวมไว้ซึ่งทำหน้าที่เป็นโทเค็นการลงทะเบียน Firebase Cloud Messaging (FCM)
  • รวบรวมข้อมูลรุ่นอุปกรณ์ ภาษา เขตเวลา เวอร์ชันระบบปฏิบัติการ ตัวระบุแอปพลิเคชัน และเวอร์ชันแอปพลิเคชันสำหรับการสมัครรับข้อมูลและการยกเลิกการสมัครรับข้อมูลหัวข้อ

รวบรวมโดยค่าเริ่มต้น

ขึ้นอยู่กับการใช้งาน

หากใช้ Cloud Messaging ร่วมกับ Google Analytics ให้ทำดังนี้

  • บันทึกการโต้ตอบการแจ้งเตือนผ่าน Google Analytics โดยอัตโนมัติ หากต้องการปิดใช้ลักษณะการทํางานนี้ ให้นํา FirebaseAnalytics ออกจากแอป

FirebaseMLModelDownloader

รวบรวมเสมอ

  • รวบรวมข้อมูลเมตาการดาวน์โหลดโมเดล ML เช่น เหตุการณ์การดาวน์โหลด เหตุการณ์การลบ และข้อผิดพลาด

FirebasePerformance

รวบรวมเสมอ

  • รวบรวมที่อยู่ IP เพื่อแบ่งกลุ่มข้อมูลประสิทธิภาพตามภูมิศาสตร์
  • รวบรวมเมตริกประสิทธิภาพของแอป เช่น เวลาเปิดแอปและเวลาในการตอบสนองของคําขอเครือข่าย รวมถึงการติดตามที่กําหนดเองซึ่งนักพัฒนาแอประบุเพื่อวัดประสิทธิภาพของแอป
  • รวบรวมการใช้งาน CPU/หน่วยความจําของแอปพลิเคชันเพื่อแสดงมุมมองไทม์ไลน์ของประสิทธิภาพของแอป
  • รวบรวมข้อมูลอุปกรณ์ ข้อมูลระบบปฏิบัติการ ข้อมูลแอปพลิเคชันเพื่อกรองข้อมูลประสิทธิภาพตามกลุ่มอุปกรณ์ต่างๆ

FirebaseRemoteConfig

รวบรวมเสมอ

  • รวบรวมรหัสประเทศ รหัสภาษา เขตเวลา เวอร์ชันระบบปฏิบัติการ รหัสแอป Firebase Apple และรหัสชุดของอุปกรณ์เพื่อกำหนดพารามิเตอร์เป้าหมายที่อิงตามข้อมูลนี้ นอกจากนี้ ระบบยังรวบรวมและรวบรวมข้อมูลเวอร์ชันระบบปฏิบัติการและเวอร์ชัน SDK เพื่อทําความเข้าใจแนวโน้มการใช้งานและใช้เป็นข้อมูลในการกำหนดทิศทางผลิตภัณฑ์

รวบรวมโดยค่าเริ่มต้น

ขึ้นอยู่กับการใช้งาน

หากใช้ Remote Config ร่วมกับ Google Analytics ให้ทำดังนี้

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

หากใช้การปรับ Remote Config ในแบบของคุณ

  • ข้อมูลที่ได้รับจาก Firebase Remote Config SDK และเหตุการณ์ที่ได้รับจาก Firebase SDK สําหรับ Google Analytics สามารถใช้ในการสร้างโมเดลการคาดการณ์และวัดประสิทธิภาพของโมเดลเหล่านั้น

FirebaseSessions

รวบรวมเสมอ

  • รวบรวมข้อมูลเมตาเกี่ยวกับประสิทธิภาพของแอป เช่น รหัสชุด, ข้อมูล ระบบปฏิบัติการ, เวอร์ชัน SDK และประเภทการเชื่อมต่อเครือข่ายเพื่อตรวจสอบคุณภาพแอป
  • รวบรวมข้อมูลการใช้งาน เช่น เวลาที่แอปทำงานอยู่เบื้องหลัง เพื่อจัดกลุ่มเมตริกประสิทธิภาพไว้ในเซสชันของผู้ใช้สำหรับการกรองการใช้งานตามเซสชัน

FirebaseStorage

รวบรวมโดยค่าเริ่มต้น

FirebaseVertexAI

รวบรวมเสมอ

  • รวบรวมเวอร์ชัน Firebase SDK และเวอร์ชันภาษา Swift
  • รวบรวมชื่อรุ่นเมื่อเรียกใช้