Apple กำหนดให้นักพัฒนาแอปที่เผยแพร่แอปใน App Store ต้องเปิดเผยข้อมูลบางอย่างเกี่ยวกับการใช้ข้อมูลของแอป
เอกสารนี้ประกอบด้วยลักษณะการทำงานของไลบรารีแพลตฟอร์ม Apple ของ Firebase ที่อาจต้องเปิดเผยตามหลักเกณฑ์ของ Apple เมื่อติดตั้ง Firebase ให้จดบันทึกเป้าหมายบิลด์ที่ติดตั้งลงในแอปโดยเครื่องมือจัดการทรัพยากร Dependency ที่คุณเลือก สำหรับแต่ละเป้าหมายที่เครื่องมือจัดการทรัพยากร Dependency แสดงไว้ โปรดอ่านส่วนที่เกี่ยวข้องของเอกสารนี้เพื่อพิจารณาว่าคุณต้องเปิดเผยการเก็บรวบรวมข้อมูลใดบ้าง จำนวนเป้าหมายบิลด์ Firebase ที่คุณติดตั้งอาจมากกว่าจำนวนที่คาดไว้ เนื่องจากเป้าหมายบิลด์ Firebase บางรายการมีการขึ้นต่อกันชั่วคราวกับเป้าหมายอื่นๆ
หากคุณใช้ฟีเจอร์เสริม (ไม่บังคับ) ของผลิตภัณฑ์ที่มีข้อมูลเพิ่มเติม หรือเข้าร่วมการทดสอบฟีเจอร์ใหม่ของผลิตภัณฑ์ที่มีข้อมูลเพิ่มเติม โปรดตรวจสอบให้แน่ใจว่าฟีเจอร์หรือการทดสอบเหล่านั้นจำเป็นต้องมีการเปิดเผยข้อมูลเพิ่มเติมหรือไม่
เราขอแนะนำให้คุณใช้ Firebase SDK แต่ละรายการเป็นเวอร์ชันล่าสุดอยู่เสมอ เพื่อให้มั่นใจว่าการเปิดเผยของแอปคุณนั้นถูกต้อง
User Agent ของ Firebase
User Agent ของ Firebase คือชุดข้อมูลที่รวบรวมจาก Firebase SDK ส่วนใหญ่ ซึ่งรวมถึงอุปกรณ์, ระบบปฏิบัติการ, รหัสชุดแอป และแพลตฟอร์มนักพัฒนาแอป User Agent จะไม่ลิงก์กับตัวระบุผู้ใช้หรืออุปกรณ์ และทีม Firebase จะใช้เพื่อระบุการนำแพลตฟอร์มและเวอร์ชันไปใช้เพื่อช่วยให้ตัดสินใจเกี่ยวกับฟีเจอร์ Firebase ได้ดียิ่งขึ้น
FirebaseCore
- ไม่รวบรวมข้อมูล
GoogleUtilities
- ไม่รวบรวมข้อมูล แต่รวมยูทิลิตีเครือข่ายที่ SDK อื่นๆ อาจใช้เพื่อรวบรวมข้อมูล
GoogleDataTransport
รวมถึงยูทิลิตีเครือข่ายที่ SDK อื่นๆ อาจใช้เพื่อรวบรวมข้อมูล
รวบรวมเสมอ
- รวบรวมข้อมูลเมตาเกี่ยวกับประสิทธิภาพของ SDK เช่น ขนาดของแคชเหตุการณ์บันทึกของไคลเอ็นต์และจำนวนเหตุการณ์บันทึกของไคลเอ็นต์ที่ถูกทิ้งด้วยเหตุผลต่างๆ เพื่อตรวจสอบและรักษาคุณภาพของผลิตภัณฑ์
FirebaseABTesting
การทดสอบ A/B ไม่ได้รวบรวมข้อมูล
SDK ของ Firebase A/B Testing จะตั้งค่าและใช้พร็อพเพอร์ตี้ผู้ใช้ Google Analytics เพื่อระบุการเป็นสมาชิกในกลุ่มทดสอบสำหรับ Firebase Remote Config และ Firebase In-App Messaging
FirebaseAILogic
Firebase AI Logic เดิมเรียกว่า "Vertex AI in Firebase" โดยมีไลบรารี FirebaseVertexAI นอกจากนี้ Firebase AI Logic เคยมีห้องสมุด FirebaseAI ด้วย
รวบรวมเสมอ
- รวบรวมเวอร์ชัน Firebase SDK และเวอร์ชันภาษา Swift
- รวบรวมชื่อโมเดลเมื่อมีการเรียกใช้
รวบรวมโดยค่าเริ่มต้น
- หากเปิดใช้การเก็บรวบรวมข้อมูล ระบบจะรวบรวมรหัสแอป Apple ของ Firebase และเวอร์ชันแอปพลิเคชัน
ขึ้นอยู่กับการใช้งาน
- หากเปิดใช้การตรวจสอบ AI ในคอนโซล Firebase สำหรับ Agent Platform Gemini API (formerly Vertex AI) ระบบจะรวบรวมพรอมต์และเอาต์พุตที่สร้างขึ้นจากคำขอที่สุ่มตัวอย่างแต่ละรายการพร้อมกับเมตริกประสิทธิภาพและการใช้งาน
Google Analytics
ดูข้อมูลการเก็บรวบรวมข้อมูลของ Google Analytics ได้ในบทความช่วยเหลือนี้
FirebaseAppCheck
รวบรวมโดยค่าเริ่มต้น
- หากเปิดใช้การเก็บรวบรวมข้อมูล ระบบจะรวบรวม User Agent ของ Firebase
ขึ้นอยู่กับการใช้งาน
หากติดตั้งผู้ให้บริการ DeviceCheck ไว้ ระบบจะรวบรวมโทเค็น
DCDeviceจาก DeviceCheckหากติดตั้งผู้ให้บริการ App Attest ไว้ ระบบจะรวบรวมทั้งออบเจ็กต์เอกสารรับรองและออบเจ็กต์การยืนยันจาก App Attest
หากติดตั้งผู้ให้บริการ reCAPTCHA Enterprise ไว้ ระบบจะรวบรวมโทเค็น reCAPTCHA จากการเรียกใช้ SDK ของ reCAPTCHA Enterprise SDK ของ reCAPTCHA Enterprise จะเก็บรวบรวมข้อมูลตามที่อธิบายไว้ในรายละเอียดความเป็นส่วนตัวของ Apple
FirebaseAppDistribution
SDK ของ App Distribution มีไว้สำหรับการใช้งานการทดสอบเบต้าเท่านั้น อย่าใส่ SDK ของ App Distribution ในแอปพลิเคชันเมื่อส่งไปยัง App Store
FirebaseAuthentication
รวบรวมเสมอ
- สร้างและจัดเก็บตัวระบุเพื่อวัตถุประสงค์ในการตรวจสอบสิทธิ์ผู้ใช้
รวบรวมโดยค่าเริ่มต้น
- หากเปิดใช้การเก็บรวบรวมข้อมูล ระบบจะรวบรวม User Agent ของ Firebase
ขึ้นอยู่กับการใช้งาน
- รวบรวมชื่อที่แสดง หากนักพัฒนาแอปได้ระบุชื่อที่แสดงสำหรับผู้ใช้
- รวบรวมอีเมลของผู้ใช้ตามที่นักพัฒนาแอปให้ไว้เมื่อใช้การตรวจสอบสิทธิ์ด้วยรหัสผ่านอีเมลหรือลิงก์อีเมล หรือตามที่ระบุไว้ในการตอบกลับจากผู้ให้บริการแบบรวมศูนย์หากนักพัฒนาแอปใช้ข้อมูลประจำตัวแบบรวมศูนย์
- รวบรวมหมายเลขโทรศัพท์ของผู้ใช้ตามที่นักพัฒนาแอปให้ไว้เมื่อใช้การตรวจสอบสิทธิ์ทางโทรศัพท์ หรือหากมีการเพิ่มหมายเลขโทรศัพท์ของผู้ใช้เป็นวิธีการตรวจสอบสิทธิ์ นอกจากนี้ยังรวบรวมในระหว่างขั้นตอนการตรวจสอบสิทธิ์จากปัจจัยที่สองผ่าน SMS ด้วย
- รวบรวมข้อมูลติดต่อที่เกี่ยวข้องกับผู้ให้บริการตรวจสอบสิทธิ์บุคคลที่สามหากนักพัฒนาแอปใช้ผู้ให้บริการตรวจสอบสิทธิ์บุคคลที่สามกับ Firebase Authentication ตัวอย่างเช่น ตัวระบุของผู้ใช้อาจลิงก์กับโปรไฟล์ Facebook หากนักพัฒนาแอปใช้การตรวจสอบสิทธิ์ของ Facebook ทั้งนี้ขึ้นอยู่กับขอบเขตที่ได้รับอนุญาต โปรดดูข้อมูลเพิ่มเติมในเอกสารประกอบของผู้ให้บริการตรวจสอบสิทธิ์
- จัดเก็บรหัส Game Center ของผู้ใช้หากแอปเชื่อมโยงกับ Game Center
- รวบรวมโทเค็นนี้หากแอปของคุณใช้ reCAPTCHA Enterprise เพื่อปกป้องขั้นตอน Authentication ดูรายละเอียดความเป็นส่วนตัวของ Apple สำหรับ reCAPTCHA Enterprise เพิ่มเติม
FirebaseCrashlytics
รวบรวมเสมอ
- รวบรวมสแต็กเทรซและสถานะแอปพลิเคชันที่เกี่ยวข้องเมื่อแอปพลิเคชันขัดข้อง
- รวบรวมข้อมูลอุปกรณ์และระบบปฏิบัติการเพื่อช่วยแก้ไขข้อบกพร่องของข้อขัดข้อง
ขึ้นอยู่กับการใช้งาน
- รวบรวมคีย์ที่กำหนดเอง บันทึก และรหัสผู้ใช้แบบข้อความอิสระที่นักพัฒนาแอปแนบมากับรายงานข้อขัดข้อง นอกจากนี้ยังรวบรวมเหตุการณ์ที่ไม่ร้ายแรงซึ่งนักพัฒนาแอปกำหนดไว้พร้อมสแต็กเทรซที่กำหนดเองด้วย
- รวบรวมบันทึก "เบรดครัมบ์" หากใช้ Crashlytics ร่วมกับ Google Analytics บันทึกเหล่านี้จะระบุการดำเนินการของผู้ใช้ก่อนเกิดข้อขัดข้องทันที พร้อมกับจำนวนข้อขัดข้อง
- รวบรวมส่วนที่นักพัฒนาแอปกำหนดของเทมเพลต Remote Config และข้อมูลเมตาของเทมเพลต หากมี SDK Firebase Remote Config รวมอยู่ในแอปด้วย ข้อมูลนี้รวมถึงเวอร์ชันเทมเพลต Remote Config, รหัสตัวแปรการเปิดตัว, คีย์พารามิเตอร์ และค่าพารามิเตอร์ที่ได้รับผลกระทบจากการเปิดตัวที่ใช้งานอยู่
FirebaseDatabase
รวบรวมโดยค่าเริ่มต้น
- หากเปิดใช้การเก็บรวบรวมข้อมูล ระบบจะรวบรวม User Agent ของ Firebase
FirebaseDataConnect
รวบรวมโดยค่าเริ่มต้น
หากเปิดใช้การเก็บรวบรวมข้อมูล
- รวบรวม User Agent ของ Firebase
- รวบรวมข้อมูลว่ามีการใช้การสร้างโค้ดในเครื่องสำหรับ SQL Connect หรือไม่ โดยตรวจสอบว่าคำขอไปยังบริการ SQL Connect มาจากโค้ดที่สร้างโดยเครื่องมือสร้างโค้ด หรือมาจากการใช้ SDK ของ SQL Connect โดยตรงแทน
- รวบรวมรหัสแอป Firebase ของแอป (ไม่ใช่รหัสชุดของแอป) ค่านี้จะรวมอยู่ในส่วนหัวของคำขอแต่ละรายการ
FirebaseDynamicLinks (เลิกใช้งาน)
รวบรวมเสมอ
- รวบรวมข้อมูลอุปกรณ์ชั่วคราว ซึ่งรวมถึงขนาดหน้าจอ ภาษา เวอร์ชันระบบปฏิบัติการ รหัสชุด ที่อยู่ IP และเวอร์ชัน Firebase SDK ของอุปกรณ์สำหรับ Deferred Deep Link (Deep Link หลังการติดตั้งแอป)
รวบรวมโดยค่าเริ่มต้น
- รวบรวม URL ของลิงก์แบบไดนามิกในเพสต์บอร์ดของอุปกรณ์ชั่วคราว (หากมี) เมื่อเปิดแอปครั้งแรก นักพัฒนาแอปสามารถปิดใช้ Pasteboard ได้โดยตั้งค่าพร็อพเพอร์ตี้
FirebaseDeepLinkPasteboardRetrievalEnabledเป็นNOในไฟล์Info.plistของแอป
ขึ้นอยู่กับการใช้งาน
หากใช้ Dynamic Links ร่วมกับ Google Analytics
- บันทึกเหตุการณ์การโต้ตอบกับลิงก์โดยอัตโนมัติผ่าน Google Analytics หากต้องการปิดใช้การบันทึกเหตุการณ์อัตโนมัติ ให้นำ
FirebaseAnalyticsออกจากแอป
FirebaseFirestore
รวบรวมโดยค่าเริ่มต้น
- หากเปิดใช้การเก็บรวบรวมข้อมูล ระบบจะรวบรวม User Agent ของ Firebase
FirebaseFunctions
รวบรวมเสมอ
- รวบรวมข้อมูลเมตาการเรียกใช้ฟังก์ชัน ซึ่งรวมถึงชื่อฟังก์ชันและที่อยู่ IP ของผู้เรียกใช้ฟังก์ชัน
FirebaseInAppMessaging
รวบรวมเสมอ
- บันทึกการโต้ตอบกับข้อความในแอป ระบบจะบันทึกการโต้ตอบเหล่านี้ (การแสดงผล การคลิก การปิด) ผ่าน Google Analytics นอกจากนี้ Firebase ยังบันทึกการโต้ตอบเพื่อช่วยให้นักพัฒนาแอปประเมินประสิทธิภาพของแคมเปญการรับส่งข้อความได้ด้วย
FirebaseInstallations
รวบรวมโดยค่าเริ่มต้น
- หากเปิดใช้การเก็บรวบรวมข้อมูล ระบบจะรวบรวม User Agent ของ Firebase
FirebaseMessaging
รวบรวมเสมอ
- บันทึกโทเค็น APNs และเชื่อมโยงกับรหัสการติดตั้งแอปที่รวบรวมไว้ซึ่งทำหน้าที่เป็นโทเค็นการลงทะเบียน Firebase Cloud Messaging (FCM)
- รวบรวมรุ่นอุปกรณ์ ภาษา เขตเวลา เวอร์ชันระบบปฏิบัติการ ตัวระบุแอปพลิเคชัน และเวอร์ชันแอปพลิเคชันสำหรับการสมัครรับข้อมูลและการยกเลิกการสมัครรับข้อมูลหัวข้อ
รวบรวมโดยค่าเริ่มต้น
- หากเปิดใช้การเก็บรวบรวมข้อมูล ระบบจะรวบรวม User Agent ของ Firebase
ขึ้นอยู่กับการใช้งาน
หากใช้ Cloud Messaging ร่วมกับ Google Analytics
- บันทึกการโต้ตอบกับการแจ้งเตือนโดยอัตโนมัติผ่าน Google Analytics หากต้องการปิดใช้ลักษณะการทำงานนี้ ให้นำ
FirebaseAnalyticsออกจากแอป
FirebaseMLModelDownloader (เลิกใช้งาน)
รวบรวมเสมอ
- รวบรวมข้อมูลเมตาการดาวน์โหลดโมเดล ML เช่น เหตุการณ์การดาวน์โหลด เหตุการณ์การลบ และข้อผิดพลาด
FirebasePerformance
รวบรวมเสมอ
- รวบรวมที่อยู่ IP เพื่อให้การแบ่งกลุ่มข้อมูลประสิทธิภาพตามภูมิศาสตร์
- รวบรวมเมตริกประสิทธิภาพของแอป เช่น เวลาเปิดแอปและเวลาในการตอบสนองของคำขอเครือข่าย ตลอดจนการติดตามที่กำหนดเองซึ่งนักพัฒนาแอประบุไว้เพื่อวัดประสิทธิภาพของแอป
- รวบรวมการใช้งาน CPU/หน่วยความจำของแอปพลิเคชันเพื่อแสดงมุมมองไทม์ไลน์ของประสิทธิภาพของแอป
- รวบรวมข้อมูลอุปกรณ์ ข้อมูลระบบปฏิบัติการ และข้อมูลแอปพลิเคชันเพื่อกรองข้อมูลประสิทธิภาพตามกลุ่มอุปกรณ์ต่างๆ
FirebaseRemoteConfig
รวบรวมเสมอ
- รวบรวมรหัสประเทศ รหัสภาษา เขตเวลา เวอร์ชันระบบปฏิบัติการ รหัสแอป Firebase สำหรับ Apple และรหัสชุดของอุปกรณ์เพื่อกำหนดเป้าหมายพารามิเตอร์ที่อิงตามข้อมูลนี้ นอกจากนี้ยังมีการรวบรวมและรวมเวอร์ชันระบบปฏิบัติการและเวอร์ชัน SDK เพื่อทำความเข้าใจแนวโน้มการใช้งานและกำหนดทิศทางของผลิตภัณฑ์
รวบรวมโดยค่าเริ่มต้น
- หากเปิดใช้การเก็บรวบรวมข้อมูล ระบบจะรวบรวม User Agent ของ Firebase
ขึ้นอยู่กับการใช้งาน
หากใช้ Remote Config ร่วมกับ Google Analytics
- รวบรวมพร็อพเพอร์ตี้ผู้ใช้ที่ได้รับจาก Firebase SDK สำหรับ Google Analytics เพื่อกำหนดเป้าหมายพารามิเตอร์ที่อิงตามเงื่อนไขพร็อพเพอร์ตี้ผู้ใช้
- รวบรวมการประทับเวลาของเหตุการณ์
first_openที่ได้รับจาก Firebase SDK สำหรับ Google Analytics เพื่อกำหนดเป้าหมายพารามิเตอร์ที่อิงตามเวลาที่เปิดครั้งแรก
หากใช้การปรับเปลี่ยน Remote Config ในแบบของคุณ
- ข้อมูลที่ได้จาก SDK ของ Firebase Remote Config และเหตุการณ์ที่ได้จาก Firebase SDK สำหรับ Google Analytics สามารถใช้เพื่อสร้างโมเดลการคาดการณ์และวัดประสิทธิภาพของโมเดลเหล่านั้นได้
FirebaseSessions
รวบรวมเสมอ
- รวบรวมข้อมูลเมตาเกี่ยวกับประสิทธิภาพของแอป เช่น รหัสชุด ข้อมูลระบบปฏิบัติการ เวอร์ชัน SDK และประเภทการเชื่อมต่อเครือข่ายเพื่อตรวจสอบคุณภาพของแอป
- รวบรวมข้อมูลการใช้งาน เช่น เวลาที่แอปทำงานอยู่เบื้องหลังเพื่อจัดกลุ่มเมตริกประสิทธิภาพเป็นเซสชันของผู้ใช้สำหรับการกรองการใช้งานตามเซสชัน
FirebaseStorage
รวบรวมโดยค่าเริ่มต้น
- หากเปิดใช้การเก็บรวบรวมข้อมูล ระบบจะรวบรวม User Agent ของ Firebase