Buka konsol

Memahami project Firebase

Halaman ini menyajikan gambaran umum singkat beberapa konsep penting terkait project Firebase. Jika tersedia, klik link untuk menemukan informasi lebih lengkap tentang fitur, layanan, dan bahkan platform lainnya. Di bagian bawah halaman ini, temukan daftar praktik terbaik umum untuk project Firebase.

Hubungan antara project, aplikasi, dan produk Firebase

Project Firebase adalah entity level teratas untuk Firebase. Setelah Anda menautkan aplikasi ke project Firebase dan mengonfigurasinya untuk menggunakan Firebase, Anda dapat menambahkan Firebase SDK untuk sejumlah produk Firebase, seperti Analytics, Cloud Firestore, Performance Monitoring, atau Remote Config.

Hubungan antara project Firebase dan Google Cloud Platform (GCP)

Saat membuat project Firebase baru di Firebase console, Anda sebenarnya membuat project Google Cloud Platform (GCP) di balik layar. Anggap project GCP sebagai container virtual untuk data, kode, konfigurasi, dan layanan. Project Firebase adalah project GCP yang memiliki konfigurasi dan layanan khusus Firebase tambahan. Anda bahkan dapat membuat project GCP terlebih dahulu, lalu menambahkan Firebase ke project tersebut nanti.

Karena project Firebase adalah project GCP:

  • Project yang muncul di Firebase console juga akan muncul di GCP Console dan konsol Google API.

  • Tagihan dan izin untuk project digunakan bersama di seluruh Firebase dan GCP.

  • ID unik untuk sebuah project (seperti project ID) digunakan bersama di Firebase dan GCP.

  • Anda dapat menggunakan produk dan API, baik dari Firebase maupun GCP, dalam project Anda.

  • Menghapus sebuah project akan menghapusnya di Firebase dan GCP.

Menyiapkan project Firebase dan menghubungkan aplikasi

Anda dapat menyiapkan project Firebase dan menghubungkan aplikasi di Firebase console (atau, untuk kasus penggunaan lanjutan, melalui Firebase Management REST API). Selama proses menyiapkan project dan menghubungkan aplikasi, Anda perlu membuat beberapa keputusan konfigurasi dan menambahkan objek atau file konfigurasi khusus ke project lokal Anda.

Pastikan untuk meninjau beberapa praktik terbaik umum sebelum menyiapkan project Anda dan menghubungkan aplikasi.

Nama project

Saat membuat project, berikan nama untuk project Anda. ID ini adalah nama khusus internal untuk project Anda di Firebase console, GCP Console, dan Firebase CLI. Nama project tidak ditampilkan pada produk, layanan, atau resource Firebase atau GCP yang terlihat secara publik. Nama project hanya berfungsi untuk memudahkan Anda membedakan berbagai project.

Anda dapat mengedit nama project kapan saja di settings Setelan project. Nama project Anda ditampilkan di panel atas.

Project ID

Project Firebase Anda (dan project GCP-nya yang terkait) memiliki project ID yang merupakan ID unik global untuk project Anda di seluruh Firebase dan GCP. Saat Anda membuat project Firebase, Firebase otomatis menetapkan ID unik ke project Anda, tetapi Anda dapat mengeditnya selama penyiapan.

Jika Anda menghapus suatu project, project ID tersebut juga akan terhapus dan tidak akan dapat digunakan lagi oleh project lain.

Resource Firebase dan project ID

Project ID ditampilkan pada resource Firebase yang terlihat secara publik, misalnya:

  • Subdomain Hosting default — projectID.web.app dan projectID.firebaseapp.com
  • URL Realtime Database default — projectID.firebaseio.com
  • Nama bucket Cloud Storage default — projectID.appspot.com

Untuk semua resource yang disebutkan di atas, Anda dapat membuat instance non-default. Nama non-default yang terlihat secara publik dapat disesuaikan sepenuhnya. Anda dapat menghubungkan domain kustom ke situs yang dihosting di Firebase, melakukan sharding pada Realtime Database, dan membuat beberapa bucket Cloud Storage (kunjungi halaman Memulai untuk platform Anda).

Firebase CLI dan project ID

Untuk beberapa kasus penggunaan, Anda mungkin memiliki beberapa project Firebase yang terkait dengan direktori aplikasi lokal yang sama. Dalam situasi tersebut, ketika menggunakan Firebase CLI, teruskan tanda --project dengan perintah firebase untuk memberi tahu dengan project Firebase mana Anda ingin berinteraksi.

Anda juga dapat menyiapkan alias project untuk berbagai project Firebase sehingga tidak perlu mengingat project ID.

Panggilan API dan project ID

Untuk banyak panggilan API, Anda perlu menyertakan project ID untuk mengidentifikasi project Firebase.

Menemukan project ID

  • Di Firebase console, klik settings, lalu pilih Setelan project. Project ID Anda ditampilkan di panel atas.

  • Dengan Firebase CLI, jalankan firebase list. Project ID Anda ditampilkan beserta semua project Firebase yang terkait dengan akun Anda.

Objek dan file konfigurasi Firebase

Ketika Anda menghubungkan aplikasi ke project Firebase, Firebase console akan menyediakan file konfigurasi (Android/iOS) atau objek konfigurasi (web) Firebase untuk ditambahkan langsung ke project lokal Anda.

  • Untuk iOS, tambahkan file konfigurasi GoogleService-Info.plist
  • Untuk Android, tambahkan file konfigurasi google-services.json
  • Untuk web, tambahkan objek konfigurasi Firebase untuk skrip inisialisasi Anda

Anda dapat memperoleh file konfigurasi atau objek konfigurasi Firebase kapan saja.

File konfigurasi atau objek konfigurasi Firebase mengaitkan aplikasi Anda dengan project Firebase Anda beserta resource-nya (database, bucket penyimpanan, dll.).

Konten ini dianggap publik, termasuk ID khusus platform (dimasukkan dalam alur kerja penyiapan Firebase console) dan nilai yang khusus untuk project Firebase Anda, seperti Kunci API, URL Realtime Database, dan nama bucket Storage. Oleh karena itu, gunakan aturan keamanan untuk melindungi data dan file Anda di Realtime Database, Cloud Firestore, dan Cloud Storage.

Untuk project open source, secara umum kami tidak merekomendasikan penyertaan file konfigurasi atau object konfigurasi Firebase dalam kontrol sumber karena, pada sebagian besar kasus, pengguna harus membuat project Firebase-nya sendiri dan mengarahkan aplikasinya ke backend miliknya sendiri.

Mengelola project Firebase

Pastikan untuk meninjau praktik terbaik umum tingkat project untuk mempelajari pertimbangan yang dapat memengaruhi pengelolaan project Firebase Anda.

Fitur untuk mengelola project Anda

Firebase console

Firebase console menawarkan lingkungan terlengkap untuk mengelola produk, aplikasi, dan setelan tingkat project Firebase.

Firebase console - layar ringkasan project

Panel kiri konsol mencantumkan produk Firebase, yang disusun berdasarkan kategori level teratas. Di bagian atas panel kiri, Anda dapat mengakses setelan project dengan mengklik settings (setelan mencakup integrasi, izin akses, dan penagihan).

Bagian tengah konsol menampilkan tombol yang meluncurkan penyiapan alur kerja untuk menghubungkan berbagai jenis aplikasi. Setelah Anda mulai menggunakan Firebase, area utama konsol akan berubah menjadi dasbor yang menampilkan statistik produk yang Anda gunakan.

Firebase CLI (fitur command-line)

Firebase juga menawarkan Firebase CLI untuk mengonfigurasi dan mengelola produk Firebase tertentu, seperti Firebase Hosting dan Cloud Functions for Firebase.

Setelah menginstal CLI menggunakan npm, Anda memiliki akses ke perintah firebase global. Gunakan CLI untuk men-deploy versi baru konten yang dihosting di Firebase atau mengupdate fungsi Anda. Anda juga dapat menautkan direktori aplikasi lokal ke project Firebase menggunakan CLI.

Firebase Management REST API

Dengan Firebase Management REST API, Anda dapat mengelola project Firebase secara terprogram. Misalnya, Anda dapat mendaftarkan aplikasi Android atau aplikasi iOS secara terprogram ke project Anda. Anda juga dapat mencantumkan aplikasi (Android/iOS) yang terdaftar ke project Anda.

Praktik terbaik umum

Menambahkan aplikasi ke project

Pastikan bahwa, dari perspektif pengguna akhir, semua aplikasi dalam sebuah project merupakan variasi platform dari aplikasi yang sama. Sebaiknya hubungkan versi Android, iOS, dan web dari aplikasi atau game yang sama ke project Firebase yang sama. Semua aplikasi dalam sebuah project umumnya berbagi resource Firebase yang sama (database, bucket penyimpanan, dll.).

Jika memiliki beberapa variasi build dengan ID paket iOS atau ID aplikasi Android yang berbeda, Anda dapat mendaftarkan setiap variasi ke project Firebase terpisah. Namun, jika Anda memiliki variasi yang berbagi resource Firebase yang sama, daftarkan variasi tersebut ke project Firebase yang sama.

Meskipun jumlah aplikasi dalam sebuah project tidak dibatasi, penambahan aplikasi dapat membuat satu atau beberapa ID klien OAuth 2.0 yang mendasarinya. Sebuah project dapat menampung pembuatan sekitar 30 ID klien.

Multi-tenancy

Hindari menghubungkan beberapa aplikasi dan/atau situs independen yang berbeda secara logika ke satu project (sering disebut "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 dengan aturan keamanan.

Secara umum, jika serangkaian aplikasi tidak berbagi data dan konfigurasi yang sama, pertimbangkan dengan sangat untuk menghubungkan setiap aplikasi ke project Firebase yang berbeda.

Misalnya, jika Anda membuat aplikasi white label, setiap aplikasi yang diberi label secara terpisah harus memiliki project Firebase-nya sendiri. Setiap aplikasi tidak dapat, dan tidak boleh (karena alasan privasi), membagikan data kepada aplikasi yang lain.

Perhatikan beberapa batasan umum untuk project, aplikasi, dan situs Firebase:

  • Jumlah project per akun

    • Paket Spark tingkatan gratis — Kuota project Anda dibatasi untuk project dalam jumlah kecil (biasanya sekitar 5-10).
    • Paket berbayar — Kuota project Anda per akun penagihan akan meningkat banyak selama akun penagihan Cloud Anda memiliki reputasi baik.

    Batas kuota project jarang menjadi perhatian bagi sebagian besar developer, tetapi jika diperlukan, Anda dapat meminta penambahan kuota project.

    Perlu diperhatikan bahwa penghapusan menyeluruh untuk suatu project membutuhkan waktu 30 hari, dan dihitung terhadap kuota Anda sampai sepenuhnya dihapus.

  • Jumlah aplikasi per project

    Meskipun jumlah aplikasi dalam sebuah project tidak dibatasi, penambahan aplikasi dapat membuat satu atau beberapa ID klien OAuth 2.0 yang mendasarinya. Sebuah project dapat menampung pembuatan sekitar 30 ID klien.

  • Jumlah situs hosting per project

    Fitur multisite Firebase Hosting mendukung maksimum 20 situs per project.

Meluncurkan aplikasi Anda