Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

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. Di project, Anda membuat aplikasi Firebase dengan mendaftarkan aplikasi iOS, Android, atau web. Setelah mendaftarkan aplikasi dengan Firebase, Anda dapat menambahkan SDK Firebase untuk sejumlah produk Firebase, seperti Analytics, Cloud Firestore, Performance Monitoring, atau Remote Config.

Pelajari informasi mendetail tentang proses ini lebih lanjut di Panduan Memulai (iOS | Android | web | Unity | C++).

Hubungan antara project Firebase dan Google Cloud

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

Karena project Firebase adalah project Google Cloud:

  • Project yang muncul di Firebase console juga akan muncul di Google Cloud Console dan Konsol API Google.

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

  • ID unik untuk project (seperti nomor project dan project ID) digunakan bersama di seluruh Firebase dan Google Cloud.

  • Anda dapat menggunakan produk dan API dari Firebase dan Google Cloud dalam suatu project.

  • Menghapus sebuah project akan menghapusnya di Firebase dan Google Cloud.

Menyiapkan project Firebase dan mendaftarkan aplikasi

Anda dapat menyiapkan project Firebase dan mendaftarkan aplikasi di Firebase console (atau, untuk kasus penggunaan lanjutan, melalui Firebase Management REST API atau Firebase CLI). Saat menyiapkan project dan mendaftarkan aplikasi, Anda harus membuat beberapa keputusan organisasi dan menambahkan informasi konfigurasi khusus Firebase ke project lokal.

Pastikan untuk meninjau beberapa praktik terbaik level project umum (di bagian bawah halaman ini) sebelum menyiapkan project dan mendaftarkan aplikasi.

Nama project

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

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

Nomor project

Project Firebase (dan project Google Cloud terkait) memiliki nomor project. Nomor project adalah ID kanonis unik yang ditetapkan Google secara global untuk project. Gunakan ID ini saat mengonfigurasi integrasi dan/atau melakukan panggilan API ke Firebase, Google, atau layanan pihak ketiga.

Panggilan API dan nomor project

Untuk banyak panggilan API, Anda perlu menyertakan ID unik untuk project. Meskipun banyak API menerima project ID, sebaiknya gunakan nomor project untuk melakukan panggilan API ke Firebase, Google, atau layanan pihak ketiga.

Pelajari lebih lanjut cara menggunakan ID project, terutama nomor project, di standar AIP 2510 Google.

Menemukan nomor project

  • Firebase console: Klik Setelan project. Nomor project ditampilkan di panel atas.

  • Firebase CLI: Jalankan firebase projects:list. Nomor project ditampilkan bersama dengan semua project Firebase yang terkait dengan akun Anda.

  • Firebase Management REST API: Panggil projects.list. Isi respons memuat nomor project di objek FirebaseProject.

Project ID

Project Firebase (dan project Google Cloud terkait) memiliki project ID. Ini adalah ID unik buatan pengguna untuk project di seluruh Firebase dan Google Cloud. Saat Anda membuat project Firebase, Firebase otomatis menetapkan ID unik ke project tersebut, tetapi Anda dapat mengeditnya selama penyiapan project. ID ini secara umum harus diperlakukan sebagai alias praktis untuk merujuk project.

Jika Anda menghapus suatu project, project ID 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 — PROJECT_ID.web.app dan PROJECT_ID.firebaseapp.com
  • URL Realtime Database Default — PROJECT_ID-default-rtdb.firebaseio.com atau PROJECT_ID-default-rtdb.REGION_CODE.firebasedatabase.app
  • Nama bucket Cloud Storage default — PROJECT_ID.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 (buka halaman Memulai khusus platform).

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 ini, saat menggunakan Firebase CLI, Anda perlu meneruskan tanda --project dengan perintah firebase untuk memberi tahu project Firebase mana Anda ingin berinteraksi.

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

Panggilan API dan project ID

Untuk banyak panggilan API, Anda perlu menyertakan ID unik untuk project. Meskipun banyak API menerima project ID tersebut, sebaiknya gunakan nomor project untuk melakukan panggilan API ke Firebase, Google, atau layanan pihak ketiga.

Pelajari lebih lanjut cara menggunakan ID project, terutama nomor project, di standar AIP 2510 Google.

Menemukan project ID

  • Firebase console: Klik Setelan project. Project ID ditampilkan di panel atas.

  • Firebase CLI: Jalankan firebase projects:list. Project ID ditampilkan beserta semua project Firebase yang terkait dengan akun Anda.

  • Firebase Management REST API: Panggil projects.list. Isi respons memuat project ID dalam objek FirebaseProject.

Objek dan file konfigurasi Firebase

Saat Anda mendaftarkan aplikasi ke project Firebase, Firebase console akan menyediakan file konfigurasi Firebase (aplikasi iOS/Android) atau objek konfigurasi (aplikasi web) yang Anda tambahkan langsung ke direktori aplikasi lokal.

  • Untuk aplikasi iOS, tambahkan file konfigurasi GoogleService-Info.plist.
  • Untuk aplikasi Android, tambahkan file konfigurasi google-services.json.
  • Untuk aplikasi web, tambahkan objek konfigurasi Firebase.

Anda bisa mendapatkan objek atau file konfigurasi Firebase aplikasi kapan saja.

Objek atau file konfigurasi Firebase mengaitkan aplikasi dengan project Firebase tertentu beserta resource-nya (database, bucket penyimpanan, dll.). Konfigurasi ini mencakup "opsi Firebase", yang merupakan parameter yang diperlukan oleh layanan Google dan Firebase untuk berkomunikasi dengan API server Firebase serta mengaitkan data klien dengan project Firebase dan aplikasi Firebase. Berikut adalah "opsi Firebase" minimum yang diperlukan:

  • Kunci API: string terenkripsi sederhana yang digunakan saat memanggil API tertentu yang tidak perlu mengakses data pengguna pribadi (contoh nilai: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO)

  • Project ID: ID unik yang ditentukan pengguna untuk project di seluruh Firebase dan Google Cloud. ID ini dapat muncul di URL atau nama beberapa resource Firebase, tetapi secara umum harus diperlakukan sebagai alias untuk merujuk project. (contoh nilai: myapp-project-123)

  • ID Aplikasi ("AppID"): ID unik untuk aplikasi Firebase di seluruh Firebase dengan format khusus platform:

    • Aplikasi iOS Firebase: GOOGLE_APP_ID (contoh nilai: 1:1234567890:ios:321abc456def7890)
      Ini bukan ID Paket Apple.
    • Aplikasi Android Firebase: mobilesdk_app_id (nilai contoh: 1:1234567890:android:321abc456def7890)
      Ini bukan ID aplikasi Android atau nama paket Android.
    • Aplikasi Web Firebase: appId (contoh nilai: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)

Konten file atau objek konfigurasi Firebase dianggap publik, termasuk ID khusus platform aplikasi (ID paket iOS atau nama paket Android) dan nilai khusus project Firebase, seperti Kunci API, project ID, URL Realtime Database, dan nama bucket Cloud Storage. Oleh karena itu, gunakan Aturan Keamanan Firebase untuk melindungi data dan file Anda di Realtime Database, Cloud Firestore, dan Cloud Storage.

Untuk project open source, secara umum kami tidak merekomendasikan penyertaan objek atau file konfigurasi Firebase aplikasi dalam kontrol sumber karena, dalam sebagian besar kasus, pengguna harus membuat project Firebase-nya sendiri dan mengarahkan aplikasinya ke resource Firebase mereka sendiri (melalui objek atau file konfigurasi Firebase).

Mengelola project Firebase

Pastikan untuk meninjau praktik terbaik umum level project (di bagian bawah halaman ini) untuk pertimbangan yang dapat memengaruhi pengelolaan project Firebase.

Alat untuk mengelola project

Firebase console

Firebase console menawarkan lingkungan terlengkap untuk mengelola produk, aplikasi, dan setelan level 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 . Setelan project mencakup integrasi, izin akses, dan penagihan.

Bagian tengah konsol menampilkan tombol yang meluncurkan alur kerja penyiapan untuk mendaftarkan 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, Anda memiliki akses ke perintah firebase global. Gunakan CLI untuk menautkan direktori aplikasi lokal ke project Firebase, lalu deploy versi baru konten yang dihosting di Firebase atau mengupdate fungsi.

Firebase Management REST API

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

Praktik terbaik umum

Menambahkan aplikasi ke project

Pastikan bahwa, dari perspektif pengguna akhir, semua aplikasi dalam sebuah project merupakan varian platform dari aplikasi yang sama. Sebaiknya daftarkan versi iOS, Android, 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 varian build dengan ID paket iOS atau nama paket Android yang berbeda, Anda dapat mendaftarkan setiap varian ke project Firebase terpisah. Namun, jika Anda memiliki varian yang berbagi resource Firebase yang sama, daftarkan varian tersebut ke project Firebase yang sama.

Berikut ini beberapa batasan umum untuk project, aplikasi, dan situs Firebase:

  • Jumlah project per akun

    • Paket harga Spark — Kuota pembuatan project dibatasi untuk jumlah project yang lebih rendah (biasanya sekitar 5-10).
    • Paket harga Blaze - Kuota pembuatan project per akun meningkat secara signifikan selama akun Penagihan Cloud yang terkait memiliki reputasi baik.

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

    Perlu diperhatikan bahwa penghapusan menyeluruh untuk suatu project memerlukan waktu selama 30 hari, dan dihitung terhadap kuota project hingga project sepenuhnya dihapus.

  • Jumlah aplikasi per project

    Firebase membatasi jumlah total Aplikasi Firebase dalam project Firebase menjadi 30.

    Anda harus memastikan bahwa semua Aplikasi Firebase dalam satu project Firebase merupakan varian platform dari aplikasi yang sama berdasarkan perspektif pengguna akhir. Baca selengkapnya tentang praktik terbaik untuk multi-tenancy di bawah.

    Pelajari batas aplikasi per project lebih lanjut di FAQ.

  • Jumlah situs Hosting per project

    Fitur multisitus Firebase Hosting mendukung maksimum 36 situs per project.

Multi-tenancy

Hindari menghubungkan beberapa aplikasi dan/atau situs independen yang berbeda secara logika ke satu project Firebase (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, benar-benar pertimbangkan 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, tetapi versi iOS dan Android dari label tersebut dapat berada dalam project yang sama. Setiap aplikasi yang diberi label secara terpisah tidak boleh (untuk alasan privasi) berbagi data dengan aplikasi lain.

Meluncurkan aplikasi Anda