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