Persiapan untuk persyaratan pengungkapan data App Store Apple

Apple mewajibkan developer yang memublikasikan aplikasi di App Store agar mengungkapkan informasi tertentu terkait penggunaan data aplikasi mereka. Apple telah mengumumkan bahwa pengungkapan ini diperlukan untuk aplikasi baru dan update aplikasi mulai tanggal 8 Desember 2020.

Dokumen ini berisi perilaku library platform Firebase Apple yang dapat mengharuskan pengungkapan sesuai dengan pedoman Apple. Saat menginstal Firebase, catat target build yang diinstal ke aplikasi Anda dengan pengelola dependensi pilihan Anda. Untuk setiap target yang dicantumkan oleh dependensi manager, tinjau bagian yang sesuai dalam dokumen ini untuk menentukan pengumpulan data yang harus Anda ungkap. Jumlah target build Firebase yang telah diinstal mungkin lebih besar dari jumlah yang diperkirakan karena beberapa target build Firebase memiliki dependensi sementara terhadap target lainnya.

Jika Anda menggunakan fitur produk opsional yang membutuhkan data tambahan atau berpartisipasi dalam pengujian fitur produk baru yang menggunakan data tambahan, pastikan untuk memeriksa apakah fitur atau pengujian tersebut mengharuskan pengungkapan data tambahan atau tidak.

Untuk memastikan pengungkapan aplikasi yang akurat, Anda sebaiknya selalu menggunakan versi terbaru dari setiap Firebase SDK.

Agen pengguna Firebase

Agen pengguna Firebase adalah paket informasi yang dikumpulkan dari sebagian besar Firebase SDK dan mencakup hal berikut: perangkat, OS, ID paket aplikasi, dan platform developer. Agen pengguna tersebut tidak pernah ditautkan ke pengguna atau ID perangkat, dan digunakan oleh tim Firebase untuk menentukan adopsi platform dan versi sebagai bahan dalam pengambilan keputusan terkait fitur Firebase yang lebih baik.

Inti

FirebaseCore

  • Tidak mengumpulkan data.

FirebaseCoreDiagnostics

Selalu mengumpulkan

GoogleUtilities

  • Tidak mengumpulkan data, tetapi menyertakan utilitas jaringan yang dapat digunakan oleh SDK lain untuk mengumpulkan data.

GoogleDataTransport

Mencakup aplikasi utilitas jaringan yang mungkin digunakan oleh SDK lain untuk mengumpulkan data.

Selalu mengumpulkan

  • Mengumpulkan agen pengguna Firebase.
  • Mengumpulkan metadata tentang performa SDK, seperti ukuran cache peristiwa log klien dan jumlah peristiwa log klien yang dihapus karena berbagai alasan, untuk memantau dan mempertahankan kualitas produk.

A/B Testing

FirebaseABTesting

A/B Testing tidak mengumpulkan data.

Firebase A/B Testing SDK menetapkan dan menggunakan properti pengguna Google Analytics untuk menentukan keanggotaan dalam grup eksperimen untuk Firebase Remote Config dan Firebase In-App Messaging.

Google Analytics

Informasi pengumpulan data Google Analytics dapat ditemukan dalam artikel dukungan ini.

App Check

FirebaseAppCheck

Tergantung penggunaan

  • Jika penyedia DeviceCheck terinstal, token DCDevice dari DeviceCheck akan dikumpulkan.
  • Jika penyedia App Attest terinstal, objek pengesahan dan objek pernyataan dari App Attest akan dikumpulkan.

App Distribution

App Distribution SDK hanya ditujukan untuk penggunaan uji beta. Jangan menyertakan App Distribution SDK dalam aplikasi Anda saat mengirimkan ke App Store.

Authentication

FirebaseAuthentication

Selalu mengumpulkan

  • Membuat dan menyimpan ID untuk tujuan autentikasi pengguna.

Tergantung penggunaan

  • Mengumpulkan nama tampilan, jika developer memberikan nama tampilan untuk pengguna.
  • Mengumpulkan alamat email pengguna seperti yang diberikan oleh developer saat menggunakan sandi email atau autentikasi link email, atau seperti yang terdapat di respons dari penyedia gabungan jika developer menggunakan identitas gabungan.
  • Mengumpulkan nomor telepon pengguna seperti yang disediakan oleh developer saat menggunakan autentikasi ponsel atau jika nomor telepon pengguna ditambahkan sebagai metode autentikasi. Juga dikumpulkan selama alur SMS sebagai autentikasi faktor kedua.
  • Mengumpulkan informasi kontak yang terkait dengan penyedia autentikasi pihak ketiga jika developer menggunakan penyedia autentikasi pihak ketiga dengan Firebase Authentication. Misalnya, ID pengguna dapat ditautkan ke profil Facebook-nya jika developer menggunakan autentikasi Facebook, bergantung pada cakupan yang diberikan. Baca dokumentasi penyedia autentikasi untuk mengetahui informasi selengkapnya.
  • Menyimpan ID Game Center pengguna jika aplikasi ditautkan ke Game Center.
  • Mengumpulkan token ini jika aplikasi Anda menggunakan reCAPTCHA Enterprise untuk melindungi alur Autentikasi. Lihat Detail privasi Apple untuk reCAPTCHA Enterprise tambahan.

Crashlytics

FirebaseCrashlytics

Selalu mengumpulkan

  • Mengumpulkan pelacakan tumpukan dan status aplikasi yang relevan saat aplikasi mengalami error.
  • Mengumpulkan informasi perangkat dan OS untuk membantu proses debug error.

Tergantung penggunaan

  • Mengumpulkan kunci kustom, log, dan ID pengguna berteks bebas yang ditambahkan developer ke laporan error. Juga mengumpulkan peristiwa non-fatal yang ditentukan developer dengan pelacakan tumpukan kustom.
  • Mengumpulkan log "breadcrumb" jika Crashlytics digunakan bersama dengan Google Analytics. Log ini mengidentifikasi tindakan pengguna persis sebelum error bersama dengan jumlah error.

Realtime Database

FirebaseDatabase

Selalu mengumpulkan

Selalu mengumpulkan

  • Mengumpulkan data perangkat untuk sementara, termasuk dimensi layar perangkat, bahasa, versi OS, ID paket, alamat IP, dan versi Firebase SDK untuk deep link yang ditangguhkan (deep-link setelah penginstalan aplikasi).

Mengumpulkan secara default

  • Melakukan pencatatan otomatis peristiwa interaksi link ke dalam log melalui Google Analytics jika terdapat framework FirebaseAnalytics. Untuk menonaktifkan log peristiwa otomatis, hapus FirebaseAnalytics dari aplikasi.
  • Mengumpulkan URL link dinamis untuk sementara pada pasteboard perangkat, jika tersedia, saat peluncuran pertama aplikasi. Developer dapat menonaktifkan penggunaan Pasteboard dengan menetapkan properti FirebaseDeepLinkPasteboardRetrievalEnabled ke NO dalam file Info.plist aplikasi.

Cloud Firestore

FirebaseFirestore

Selalu mengumpulkan

Cloud Functions

FirebaseFunctions

Selalu mengumpulkan

  • Mengumpulkan metadata pemanggilan fungsi, termasuk nama fungsi dan alamat IP pemanggil fungsi.

In-App Messaging

FirebaseInAppMessaging

Selalu mengumpulkan

  • Merekam interaksi dengan pesan dalam aplikasi. Interaksi ini (tayangan, klik, penutupan) dicatat melalui Google Analytics. Interaksi juga direkam oleh Firebase untuk membantu developer mengevaluasi efektivitas kampanye messaging.

Penginstalan Firebase

FirebaseInstallations

Selalu mengumpulkan

FirebaseInstanceID (tidak digunakan lagi)

FirebaseInstanceID tidak digunakan lagi.

Selalu mengumpulkan

  • Menghasilkan ID per-penginstalan yang tidak secara unik mengidentifikasi pengguna atau perangkat fisik.
  • Menghasilkan dan mengumpulkan token pendaftaran FCM, ID instance aplikasi yang digunakan oleh FirebaseMessaging untuk notifikasi push.
  • Merekam token APNs dan mengaitkannya dengan ID instance Firebase (token pendaftaran FCM).
  • Mengumpulkan model perangkat, bahasa, zona waktu, versi OS, ID aplikasi, dan versi aplikasi untuk membuat token pendaftaran FCM.

Cloud Messaging

FirebaseMessaging

Selalu mengumpulkan

  • Mengumpulkan ID aplikasi dan versi aplikasi untuk berlangganan dan menghentikan langganan topik.

Mengumpulkan secara default

  • Otomatis mencatat interaksi notifikasi ke dalam log melalui Google Analytics jika terdapat framework FirebaseAnalytics. Untuk menonaktifkan perilaku ini, hapus FirebaseAnalytics dari aplikasi Anda.

Firebase ML

FirebaseMLCommon

  • Tidak mengumpulkan data apa pun.

FirebaseMLModelDownloader

Selalu mengumpulkan

  • Mengumpulkan metadata download model ML, seperti peristiwa download, peristiwa penghapusan, dan error.

FirebaseMLModelInterpreter

Mengumpulkan secara default

  • Mengumpulkan metadata inferensi ML, seperti durasi inferensi dan tingkat error. Untuk menonaktifkan, tetapkan properti ModelInterpreter.isStatsCollectionEnabled ke false.

FirebaseMLVision

Mengumpulkan secara default

  • Mengumpulkan metadata model ML Vision, seperti peristiwa pembuatan dan deteksi. Untuk menonaktifkan, tetapkan properti Vision.isStatsCollectionEnabled ke false.

Performance Monitoring

FirebasePerformance

Selalu mengumpulkan

  • Mengumpulkan alamat IP untuk menyediakan segmentasi data performa berbasis geografi.
  • Mengumpulkan metrik performa aplikasi seperti waktu peluncuran aplikasi dan latensi permintaan jaringan, serta trace khusus yang ditentukan developer untuk mengukur performa aplikasi.
  • Mengumpulkan penggunaan CPU/memori aplikasi untuk memberikan tampilan linimasa performa aplikasi.
  • Mengumpulkan informasi perangkat, informasi OS, informasi aplikasi untuk memfilter data performa berdasarkan berbagai segmen perangkat.

Remote Config

FirebaseRemoteConfig

Selalu mengumpulkan

  • Mengumpulkan agen pengguna Firebase.
  • Mengumpulkan kode negara, kode bahasa, zona waktu, versi OS, ID aplikasi Apple Firebase, dan ID paket perangkat untuk menargetkan parameter yang didasarkan pada data ini. Versi OS dan versi SDK juga dikumpulkan dan digabungkan untuk memahami tren penggunaan dan menginformasikan arah produk.

Tergantung penggunaan

Jika Remote Config digunakan bersama dengan Google Analytics:

  • Mengumpulkan properti pengguna yang diperoleh Firebase SDK untuk Google Analytics guna menargetkan parameter yang didasarkan pada kondisi properti pengguna.
  • Mengumpulkan stempel waktu peristiwa first_open yang diperoleh Firebase SDK untuk Google Analytics guna menargetkan parameter yang didasarkan pada waktu pertama kali dibuka.

Jika personalisasi Remote Config digunakan:

  • Data yang diperoleh Firebase Remote Config SDK dan peristiwa yang diperoleh Firebase SDK untuk Google Analytics dapat digunakan untuk membuat model prediktif dan mengukur performa model tersebut.

Sesi Firebase

FirebaseSessions

Selalu mengumpulkan

  • Mengumpulkan metadata tentang performa aplikasi, seperti ID paket, informasi OS, versi SDK, dan jenis koneksi jaringan untuk memantau kualitas aplikasi.
  • Mengumpulkan data penggunaan seperti waktu aplikasi yang berjalan di latar belakang untuk mengelompokkan metrik performa ke dalam sesi pengguna untuk memfilter penggunaan berdasarkan sesi.

Cloud Storage

FirebaseStorage

Selalu mengumpulkan