Dokumen ini berisi checklist praktik terbaik dan pertimbangan sebelum meluncurkan aplikasi Firebase ke versi produksi.
Praktik terbaik umum untuk merilis
Pastikan Anda telah menguji semua perubahan di Firebase Local Emulator Suite (untuk produk yang didukung) sebelum men-deploy ke produksi. Pengujian menyeluruh dapat membantu mencegah kesalahan yang berisiko tinggi.
Mulai menerapkan Firebase App Check untuk setiap layanan yang mendukungnya. App Check membantu memastikan hanya aplikasi Anda yang sebenarnya yang dapat mengakses layanan dan resource backend.
Tinjau checklist keamanan umum Firebase.
Gunakan peluncuran Firebase Remote Config untuk merilis fitur dan update baru secara aman dan bertahap pada aplikasi Anda.
Jika Anda belum melakukannya, sebaiknya siapkan Firebase Crashlytics. Ini adalah solusi pelaporan error yang ringan dan bekerja secara realtime untuk membantu Anda melacak, memprioritaskan, serta memperbaiki masalah stabilitas yang mengurangi kualitas aplikasi Anda.
Mengetahui batas paket harga dan menetapkan pemberitahuan anggaran
Pastikan Anda tidak mencapai batas dan kuota penggunaan setelah beralih ke produksi, terutama jika Anda menggunakan paket Spark tanpa biaya. Pertimbangkan untuk mengupgrade ke paket harga Blaze bayar sesuai penggunaan.
Siapkan pemberitahuan anggaran untuk project Anda.
Perhatikan bahwa pemberitahuan anggaran bukan merupakan batas anggaran. Notifikasi akan mengirimkan komunikasi saat Anda mendekati atau melampaui nilai minimum yang dikonfigurasi sehingga Anda dapat mengambil tindakan di aplikasi atau project.
Pertimbangkan untuk menyiapkan notifikasi dan tindakan lanjutan, seperti fungsi yang akan menonaktifkan penagihan sebagai respons terhadap notifikasi.
Pantau penggunaan Anda di dasbor khusus produk atau di dasbor Usage and billing pusat di Firebase console.
Pastikan project dan aplikasi Firebase Anda mengikuti praktik terbaik
Baik Anda seorang developer tunggal maupun tim berukuran perusahaan, penting untuk memastikan bahwa project, aplikasi, dan resource Firebase Anda dilindungi, diamankan, dan dapat berkembang seiring perubahan dalam tim Anda.
Perlu diingat bahwa project Firebase sebenarnya hanyalah project Google Cloud dengan layanan dan konfigurasi Firebase yang diaktifkan. Artinya, banyak praktik terbaik yang direkomendasikan Google Cloud juga berlaku untuk Firebase.
Gunakan project Firebase yang berbeda untuk pengembangan, pengujian, dan produksi.
Coba batasi eksposur yang tidak terduga ke project yang terkait dengan aplikasi produksi Anda. Pelajari lebih lanjut cara menyiapkan alur kerja pengembangan.
Lindungi project penting Anda, terutama project yang terkait dengan aplikasi produksi Anda.
Gunakan lien project untuk melindungi dari penghapusan project yang tidak disengaja.
Terapkan tag "Prod" dalam Firebase console untuk memudahkan identifikasi lingkungan produksi Anda.
Jika belum melakukannya, sebaiknya siapkan organisasi Google Cloud dan tambahkan project Firebase Anda ke dalamnya.
Tambahkan lebih dari satu Pemilik ke project Firebase, terutama jika project Anda tidak berada dalam organisasi Google Cloud. Pelajari lebih lanjut waktu dan cara menetapkan Pemilik untuk project Firebase.
Tambahkan anggota project (alias "prinsip") sebagai grup Google, bukan satu per satu.
Penggunaan grup memudahkan penetapan peran kepada anggota tim secara massal serta mengelola siapa yang memiliki akses ke project Firebase Anda, terutama jika anggota tim berganti atau keluar.
Berikan tingkat akses yang sesuai kepada setiap anggota project (alias "prinsip") ke project dan resource Firebase Anda. Pelajari lebih lanjut di artikel Mengelola akses project dengan IAM Firebase.
Pastikan setiap anggota project yang berlaku (alias "prinsip") menyiapkan preferensi mereka untuk menerima pemberitahuan tentang produk atau status project tertentu (seperti perubahan paket penagihan atau batas kuota). Pelajari lebih lanjut di Menerima pemberitahuan Firebase.
Batasi kunci Firebase API Anda hanya ke API yang perlu ada dalam daftar yang diizinkan API kunci. Selain itu, lihat informasi tentang kunci API di checklist keamanan Firebase.
Menyiapkan layanan tertentu yang digunakan di aplikasi Anda
Setiap produk dan layanan yang digunakan di aplikasi Anda mungkin memiliki pertimbangan tertentu saat digunakan dalam produksi.
Google Analytics
Tentukan kondisi audience untuk Google Analytics guna mulai mengumpulkan data analisis mulai dari peluncuran aplikasi Anda.
Pertimbangkan untuk mengaktifkan ekspor data Google Analytics ke BigQuery agar Anda dapat menganalisis data dengan BigQuery SQL atau mengekspor data untuk digunakan dengan alat Anda sendiri.
Batasi properti pengguna ke informasi yang akan relevan untuk siklus proses seluruh aplikasi Anda. Ada batasan jumlah yang dapat Anda buat, dan properti tersebut tidak dapat diarsipkan.
Tinjau setelan untuk peran Google Analytics untuk properti dan akun Google Analytics Anda. Izin ini dikelola secara terpisah dari izin dan peran IAM project Firebase.
Pastikan ID App Store dan ID Tim Anda (jika perlu) sudah benar di bagian Project settings pada Firebase console.
App Check
Pastikan ID Tim Anda sudah benar di Project settings Firebase console.
Jika belum, mulai terapkan Firebase App Check untuk setiap layanan yang mendukungnya. App Check membantu memastikan hanya aplikasi Anda yang sebenarnya yang dapat mengakses layanan dan resource backend.
Authentication
Nonaktifkan semua penyedia yang tidak Anda gunakan (terutama autentikasi anonim).
Jika aplikasi Anda menggunakan Login dengan Google, personalisasi layar izin OAuth Anda.
Sesuaikan domain dan pengirim Anda untuk layanan pengiriman email Authentication.
Jika Anda menggunakan layanan verifikasi SMS Identity Platform, mulai terapkan Firebase App Check dan konfigurasi kebijakan region SMS untuk melindungi aplikasi Anda dari penyalahgunaan SMS.
Terapkan penanganan error di platform Apple untuk error Authentication umum.
Tambahkan hash SHA-1 rilis untuk sertifikat penandatanganan aplikasi Anda di bagian Project settings pada Firebase console. Hash SHA-1 diperlukan jika aplikasi Anda menggunakan login dengan nomor telepon atau Login dengan Google (yang memiliki persyaratan klien OAuth).
Tambahkan kontrol akses untuk domain Anda guna mencegah penggunaan yang tidak sah. Secara khusus, izinkan akses ke domain produksi Anda di bagian Authentication di Firebase console (terutama penting jika Anda menggunakan produk yang mengandalkan Firebase Security Rules).
Cloud Firestore
Konfigurasi Cloud Firestore Security Rules untuk mencegah akses data yang tidak disengaja.
Gunakan ProGuard untuk penyingkatan kode dalam build rilis Anda. Tanpa ProGuard, Cloud Firestore SDK dan dependensinya dapat meningkatkan ukuran APK Anda.
Cloud Messaging
Pertimbangkan untuk mengaktifkan ekspor data Cloud Messaging ke BigQuery agar Anda dapat menganalisis data dengan BigQuery SQL atau mengekspor data untuk digunakan dengan alat Anda sendiri.
Upload Kunci Auth APN untuk Cloud Messaging di aplikasi Apple di Firebase console. Jika Anda menggunakan sertifikat APN, pastikan sertifikat APN produksi Anda sudah diupload.
Cloud Storage
- Konfigurasi Cloud Storage Security Rules untuk mencegah akses data yang tidak disengaja.
Crashlytics
Pastikan setiap anggota project yang berlaku (alias "prinsip") menyiapkan preferensi mereka untuk menerima pemberitahuan tentang Crashlytics atau status project (seperti perubahan paket penagihan atau batas kuota). Pelajari lebih lanjut di Menerima pemberitahuan Firebase.
Pertimbangkan untuk mengaktifkan ekspor data Crashlytics ke BigQuery agar Anda dapat menganalisis data dengan BigQuery SQL atau mengekspor data untuk digunakan dengan alat Anda sendiri.
(khusus Android dan iOS native) Pertimbangkan untuk mengaktifkan bantuan AI di Crashlytics untuk membantu mempercepat waktu yang diperlukan untuk memahami penyebab error dan cara mengatasinya.
Upload file dSYM untuk build rilis yang akan digunakan di Crashlytics. Pastikan Xcode dapat memproses dSYM dan mengupload file secara otomatis.
Upload pemetaan ProGuard untuk build rilis yang akan digunakan di Crashlytics. Upload dapat dilakukan menggunakan Firebase CLI.
Tautkan Firebase ke Google Play untuk mendapatkan informasi yang lebih lengkap tentang kondisi aplikasi Android Anda. Misalnya, Anda dapat memfilter laporan error aplikasi menurut jalur Google Play, sehingga Anda dapat lebih memfokuskan dasbor pada build tertentu.
Untuk build yang menargetkan Android dan menggunakan IL2CPP, pastikan Anda mengupload simbol native untuk setiap build yang dijalankan dan Anda ingin memiliki simbolnya, terlepas dari apakah ada perubahan kode atau konfigurasi.
Dynamic Links
- Dynamic Links tidak digunakan lagi, jadi sebaiknya migrasikan dari layanan. Pelajari lebih lanjut di FAQ penghentian penggunaan.
Firebase ML
Performance Monitoring
Pastikan setiap anggota project yang berlaku (alias "prinsip") menyiapkan preferensi mereka untuk menerima pemberitahuan tentang Performance Monitoring atau status project (seperti perubahan paket penagihan atau batas kuota). Pelajari lebih lanjut di Menerima pemberitahuan Firebase.
Pertimbangkan untuk mengaktifkan ekspor data Performance Monitoring ke BigQuery agar Anda dapat menganalisis data dengan BigQuery SQL atau mengekspor data untuk digunakan dengan alat Anda sendiri.
Realtime Database
Konfigurasi Realtime Database Security Rules untuk mencegah akses data yang tidak disengaja.
Pastikan Anda siap untuk menyesuaikan skala. Realtime Database memiliki kuota default yang cukup besar untuk sebagian besar aplikasi, tetapi beberapa aplikasi mungkin memerlukan kapasitas tambahan.
Konfigurasi aturan proguard Anda agar dapat digunakan dengan Realtime Database.
Remote Config
- Pastikan aturan Remote Config eksperimental tidak memengaruhi pengguna rilis, dan nilai default server dan dalam aplikasi yang sesuai didistribusikan di aplikasi Anda.