Praktik terbaik umum untuk menyiapkan project Firebase

Halaman ini menyajikan praktik terbaik yang paling umum untuk menyiapkan project Firebase dan mendaftarkan aplikasi ke project, sehingga Anda memiliki alur kerja pengembangan yang jelas menggunakan lingkungan yang berbeda. Setelah Anda memahami praktik terbaik di halaman ini, baca pedoman keamanan umum kami.

Memahami hierarki project Firebase

Diagram yang menunjukkan hierarki dasar project Firebase, termasuk
          project, aplikasi terdaftarnya, serta resource dan layanan
          yang disediakan Diagram ini menunjukkan hierarki dasar project Firebase. Berikut adalah hubungan utamanya:

  • Project Firebase mirip seperti container untuk semua aplikasi Anda, serta resource dan layanan apa pun yang disediakan untuk project tersebut.

  • Project Firebase dapat memiliki satu atau beberapa Aplikasi Firebase yang terdaftar (misalnya, versi iOS dan Android dari suatu aplikasi, atau versi gratis dan berbayar dari aplikasi tersebut).

  • Semua Aplikasi Firebase yang terdaftar ke project Firebase yang sama akan berbagi dan memiliki akses ke semua resource dan layanan yang sama yang disediakan untuk project tersebut. Berikut beberapa contohnya:

    • Semua Aplikasi Firebase yang terdaftar ke project Firebase yang sama memiliki backend yang sama, seperti Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage, dan Cloud Functions.

    • Semua Aplikasi Firebase yang terdaftar ke project Firebase yang sama dikaitkan dengan properti Google Analytics yang sama, di mana setiap Aplikasi Firebase merupakan aliran data terpisah di properti tersebut.

Di mana project Google Cloud bisa sesuai dengan hierarki ini?

Salah satu aspek dari hierarki project Firebase yang tidak ditampilkan dalam diagram di atas adalah hubungannya dengan project Google Cloud. Project Firebase sebenarnya adalah project Google Cloud yang memiliki konfigurasi dan layanan khusus Firebase tambahan yang diaktifkan. Perhatikan bahwa semua aplikasi yang terdaftar ke project Firebase yang sama juga membagikan dan memiliki akses ke semua resource dan layanan Google Cloud yang sama.

Pelajari hubungan Firebase dan Google Cloud lebih lanjut di artikel Memahami project Firebase

Mendaftarkan varian aplikasi dengan project Firebase

Berikut adalah beberapa tips penting untuk mendaftarkan varian aplikasi Anda ke project Firebase:

  • Pastikan bahwa semua aplikasi yang terdaftar ke project Firebase adalah varian platform atas aplikasi yang sama dari perspektif pengguna akhir. Daftarkan versi iOS, Android, dan web aplikasi atau game yang sama ke project Firebase yang sama.

  • Jika Anda memiliki beberapa varian build yang dapat berbagi resource Firebase yang sama, daftarkan varian dengan project Firebase yang sama. Beberapa contohnya adalah blog dan aplikasi web dalam project yang sama, atau versi gratis dan berbayar dari aplikasi yang sama dalam project yang sama.

  • Jika Anda memiliki beberapa varian build yang didasarkan pada status rilis (bukan berdasarkan aktivitas atau akses pengguna akhir umum, seperti di atas), daftarkan setiap variannya dengan project Firebase yang terpisah. Contohnya adalah build debug vs build rilis. Daftarkan setiap build ini dalam project Firebase-nya sendiri.

    • Build berdasarkan status rilis tidak boleh menggunakan resource Firebase yang sama karena hal tersebut berisiko mencemari data debug Anda atau bahkan mengganti data produksi Anda.

    • Varian platform untuk setiap varian build ini harus ada di project Firebase yang sama. Misalnya, daftarkan build iOS dan debug Android dalam project Firebase "dev" karena keduanya dapat berinteraksi dengan data dan resource non-produksi yang sama.

Menghindari multi-tenancy

Multi-tenancy dapat menyebabkan masalah konfigurasi dan privasi data yang serius, termasuk masalah yang tidak diinginkan terkait agregasi analisis, autentikasi bersama, struktur database yang terlalu rumit, dan kesulitan terkait aturan keamanan.

Secara umum, jika serangkaian aplikasi tidak berbagi data dan konfigurasi yang sama, pertimbangkan secara serius untuk mendaftarkan setiap aplikasi ke project Firebase yang berbeda.

Misalnya, jika Anda mengembangkan aplikasi white-label, setiap aplikasi yang diberi label secara terpisah harus memiliki project Firebase-nya sendiri, dan versi iOS serta Android dari label tersebut harus berada dalam project Firebase yang sama. Setiap aplikasi yang diberi label secara terpisah tidak boleh (untuk alasan privasi) berbagi data dengan aplikasi lain.

Langkah berikutnya