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, Anda dapat menambahkan aplikasi Firebase yang merupakan aplikasi iOS, Android, atau Web. Setelah mengonfigurasi aplikasi Anda untuk menggunakan Firebase, Anda dapat menambahkan Firebase SDK untuk sejumlah produk Firebase, seperti Analytics, Cloud Firestore, Performance Monitoring, or Remote Config.

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

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 project (seperti nomor project dan 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 menambahkan aplikasi

Anda dapat menyiapkan project Firebase dan menambahkan aplikasi di Firebase console (atau, untuk kasus penggunaan lanjutan, melalui Firebase Management REST API). Saat menyiapkan project dan menambahkan 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 dan menambahkan 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 dengan lebih mudah.

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

Nomor project

Project Firebase Anda (dan project GCP terkait) memiliki nomor project. Nomor project adalah ID kanonis yang unik secara global untuk project Anda. 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 Anda. Meskipun banyak API menerima ID project Anda, sebaiknya gunakan nomor project Anda untuk melakukan panggilan API ke Firebase, Google, atau layanan pihak ketiga.

Pelajari lebih lanjut tentang menggunakan ID project, khususnya nomor project Anda, di standar AIP 2510 Google.

Temukan nomor project Anda

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

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

Project ID

Project Firebase Anda (dan project GCP terkait) memiliki project ID. Project ID adalah ID unik yang ditentukan pengguna untuk project Anda di seluruh Firebase dan GCP. Saat Anda membuat project Firebase, Firebase secara otomatis menetapkan ID unik ke project Anda, tetapi Anda dapat mengeditnya selama penyiapan. ID ini seharusnya secara umum diperlakukan sebagai alias praktis untuk merujuk project Anda.

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 Anda menggunakan Firebase CLI, Anda perlu meneruskan tanda --projectdengan 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 ID unik untuk project Anda. Meskipun banyak API menerima project ID Anda, sebaiknya gunakan nomor project untuk melakukan panggilan API ke Firebase, Google, atau layanan pihak ketiga.

Pelajari lebih lanjut tentang menggunakan ID project, khususnya nomor project Anda, di standar AIP 2510 Google.

Menemukan project ID

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

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

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

Objek dan file konfigurasi Firebase

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

  • 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.). Konfigurasi ini mencakup "opsi Firebase", yang merupakan parameter yang diperlukan oleh Firebase dan layanan Google untuk berkomunikasi dengan API server Firebase dan mengaitkan data klien dengan project Firebase dan aplikasi Firebase Anda. Kumpulan minimal opsi Firebase yang diperlukan adalah:

  • 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 Anda di seluruh Firebase dan GCP (contoh nilai: myapp-project-123). ID ini dapat muncul di URL atau nama untuk beberapa resource Firebase, tetapi seharusnya secara umum diperlakukan sebagai alias praktis untuk merujuk project Anda.

  • ID Aplikasi ("AppID"): ID unik untuk aplikasi Firebase Anda di seluruh Firebase dengan format yang bergantung pada platform:

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

Konten file konfigurasi Firebase dianggap publik, termasuk ID khusus platform Anda (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 (setelan mencakup integrasi, izin akses, dan penagihan).

Bagian tengah konsol menampilkan tombol yang meluncurkan penyiapan alur kerja untuk menambahkan 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 Firebasemenggunakan CLI.

Firebase Management REST API

Dengan Firebase Management REST API, Anda dapat mengelola project Firebase secara terprogram. Misalnya, Anda dapat menambahkan aplikasi Android secara terprogram atau aplikasi iOS dengan project Anda. Anda juga dapat mencantumkan aplikasi (Android / iOS) yang ada dalam 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 tambahkan 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 menambahkan setiap variasi ke project Firebase terpisah. Namun, jika Anda memiliki variasi yang berbagi resource Firebase yang sama, tambahkan 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 untuk menambahkan 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