Ada kesulitan lain atau masalah yang Anda alami tidak dijelaskan di bawah ini? Harap laporkan bug atau minta fitur, dan ikuti diskusi Stack Overflow.
Project Firebase dan aplikasi Firebase
Apa yang dimaksud dengan project Firebase?
Project Firebase adalah entity level teratas untuk Firebase. Dalam sebuah project, Anda dapat mendaftarkan aplikasi Apple, Android, atau web Anda. Setelah mendaftarkan aplikasi ke Firebase, Anda dapat menambahkan Firebase SDK khusus produk ke aplikasi, seperti Analytics, Cloud Firestore, Crashlytics, atau Remote Config.
Anda harus mendaftarkan varian aplikasi Apple, Android, dan web dalam satu project Firebase. Anda dapat menggunakan beberapa project Firebase untuk mendukung beberapa lingkungan, seperti pengembangan, staging, dan produksi.
Berikut beberapa referensi untuk mempelajari project Firebase lebih lanjut:
- Memahami project Firebase — memberikan ringkasan singkat tentang beberapa konsep penting tentang project Firebase, termasuk hubungannya dengan Google Cloud dan hierarki dasar suatu project serta aplikasi dan resource-nya.
- Praktik terbaik umum untuk menyiapkan project Firebase — memberikan praktik terbaik umum dan tingkat tinggi untuk menyiapkan project Firebase dan mendaftarkan aplikasi dengan suatu project sehingga Anda memiliki alur kerja pengembangan yang jelas menggunakan lingkungan berbeda.
Perlu diperhatikan bahwa untuk semua project Firebase, Firebase akan otomatis menambahkan label
firebase:enabled
dalam
halaman Label untuk project Anda di
Google Cloud console. Pelajari label ini lebih lanjut di
FAQ kami.
Apa yang dimaksud dengan organisasi Google Cloud?
Organisasi Google Cloud adalah container untuk project Google Cloud (termasuk project Firebase). Hierarki ini memungkinkan pengaturan, pengelolaan akses, dan pengauditan project Google Cloud dan Firebase yang lebih baik. Untuk informasi selengkapnya, lihat Membuat dan Mengelola Organisasi.
Bagaimana cara menambahkan Firebase ke project Google Cloud yang ada?
Anda mungkin sudah memiliki project Google Cloud yang dikelola melalui Google Cloud console atau Konsol API Google.
Anda dapat menambahkan Firebase ke project Google Cloud yang sudah ada ini menggunakan salah satu opsi berikut:
- Menggunakan Firebase console.
- Menggunakan opsi terprogram:
- Panggil endpoint Firebase Management REST API
projects.addFirebase
. - Jalankan perintah Firebase CLI
firebase projects:addfirebase
. - Gunakan Terraform.
- Panggil endpoint Firebase Management REST API
Pelajari detail selengkapnya tentang cara menambahkan Firebase ke project Google Cloud.
Bagaimana cara kerja integrasi Firebase dengan Google Cloud?
Firebase terintegrasi secara mendalam dengan Google Cloud. Project digunakan bersama-sama oleh Firebase dan Google Cloud. Oleh karena itu, project dapat mengaktifkan layanan Firebase dan layanan Google Cloud. Anda dapat mengakses project yang sama dari Firebase console atau Google Cloud console. Secara khusus:
- Produk Firebase tertentu didukung langsung oleh Google Cloud, seperti Cloud Storage for Firebase. Daftar produk yang didukung oleh Google Cloud akan terus bertambah dari waktu ke waktu.
- Banyak dari setelan Anda, termasuk kolaborator dan informasi penagihan, yang digunakan bersama oleh Firebase dan Google Cloud. Pemakaian Firebase dan Google Cloud Anda muncul dalam tagihan yang sama.
Selain itu, saat mengupgrade ke paket Blaze, Anda dapat menggunakan Infrastructure as a Service dan API kelas dunia Google Cloud langsung di dalam project Firebase Anda, dengan harga Google Cloud standar. Anda juga dapat mengekspor data dari Google Cloud langsung ke BigQuery untuk dianalisis. Untuk mempelajari lebih lanjut, lihat bagian Menautkan BigQuery ke Firebase.
Anda bisa mendapatkan banyak keuntungan jika menggunakan Google Cloud dengan Firebase, yaitu berupa peningkatan keamanan, peningkatan latensi, dan penghematan waktu (dibandingkan dengan layanan cloud lain yang tidak berlokasi sama). Lihat situs Google Cloud untuk mengetahui detail selengkapnya.
Mengapa project Google Cloud saya memiliki label
firebase:enabled
?
Di
halaman Labels
untuk project Anda di Google Cloud console, Anda mungkin melihat label
firebase:enabled
(khususnya, Key
dari
firebase
dengan Value
dari enabled
).
Firebase otomatis menambahkan label ini karena project Anda adalah project Firebase, yang berarti project tersebut memiliki layanan dan konfigurasi khusus Firebase yang diaktifkan. Pelajari lebih lanjut hubungan antara project Firebase dan Google Cloud.
Sebaiknya Anda tidak mengubah atau menghapus
label ini. Label ini digunakan oleh Firebase dan Google Cloud untuk mencantumkan
project Firebase Anda (misalnya, menggunakan
endpoint
projects.list
REST API
atau dalam menu di dalam Firebase console).
Perhatikan bahwa menambahkan label ini ke daftar label project Anda secara manual TIDAK mengaktifkan konfigurasi dan layanan khusus Firebase untuk project Google Cloud Anda. Untuk melakukannya, Anda perlu menambahkan Firebase menggunakan Firebase console (atau, untuk kasus penggunaan lanjutan, menggunakan Firebase Management REST API atau Firebase CLI).
Mengapa project Firebase saya tidak muncul dalam daftar project Firebase?
FAQ ini berlaku jika Anda tidak melihat project Firebase di tempat-tempat berikut:
- Dalam daftar project yang Anda lihat dalam Firebase console
- Sebagai respons dari pemanggilan
endpoint
projects.list
REST API - Sebagai respons dari menjalankan perintah Firebase CLI
firebase projects:list
Coba langkah-langkah pemecahan masalah ini:
- Pertama, coba akses project Anda dengan langsung mengunjungi URL project. Gunakan format berikut:
https://console.firebase.google.com/project/PROJECT_ID/overview
- Jika Anda tidak dapat mengakses project atau menerima error izin, periksa hal berikut:
- Pastikan Anda login ke Firebase menggunakan Akun Google yang sama dengan yang memiliki akses ke project. Anda dapat login dan logout dari Firebase console melalui avatar akun di pojok kanan atas konsol.
- Periksa apakah Anda dapat melihat project di Google Cloud console.
- Pastikan project Anda memiliki label
firebase:enabled
di halaman Labels untuk project Anda di Google Cloud console. Firebase dan Google Cloud menggunakan label ini untuk mencantumkan project Firebase Anda. Jika Anda tidak melihat label ini, tetapi Firebase Management API diaktifkan untuk project Anda, tambahkan label secara manual (khususnya,Key
darifirebase
denganValue
darienabled
). - Pastikan Anda diberi salah satu peran IAM dasar (Pemilik, Editor, Viewer) atau peran yang memiliki izin terkait Firebase di dalamnya, misalnya peran Firebase yang telah ditetapkan. Anda dapat melihat peran di halaman IAM di Google Cloud console.
- Jika project Anda termasuk dalam organisasi Google Cloud, Anda mungkin memerlukan izin tambahan untuk melihat project yang tercantum di Firebase console. Hubungi orang yang mengelola organisasi Google Cloud Anda untuk memberi Anda peran yang sesuai dalam melihat project, misalnya peran Browser.
Jika tidak satu pun langkah pemecahan masalah di atas yang memungkinkan Anda melihat project dalam daftar project Firebase, hubungi Dukungan Firebase.
Berapa banyak project yang dapat saya miliki untuk setiap akun?
- Paket harga Spark — Kuota project Anda dibatasi untuk sejumlah kecil project (biasanya sekitar 5-10).
- Paket harga Blaze — Kuota project Anda per akun Cloud Billing akan meningkat secara signifikan selama akun Cloud Billing Anda memiliki reputasi baik.
Batas kuota project biasanya tidak perlu dikhawatirkan 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.
Berapa banyak Aplikasi Firebase yang dapat saya miliki dalam sebuah project Firebase?
Project Firebase adalah container untuk Aplikasi Firebase di Apple, Android, dan web. Firebase membatasi jumlah total Aplikasi Firebase dalam project Firebase menjadi 30.
Lebih dari jumlah tersebut, performa akan mulai menurun (terutama untuk Google Analytics) dan akhirnya, pada jumlah aplikasi yang lebih banyak, beberapa fungsionalitas produk dapat berhenti bekerja. Selain itu, jika Anda menggunakan login dengan Google sebagai penyedia autentikasi, client ID OAuth 2.0 pokok akan dibuat untuk setiap aplikasi di project Anda. Sebuah project dapat menampung pembuatan sekitar 30 client ID.
Anda harus memastikan bahwa semua Aplikasi Firebase dalam satu project Firebase merupakan varian platform dari aplikasi yang sama berdasarkan perspektif pengguna akhir. Misalnya, jika Anda mengembangkan aplikasi white label, setiap aplikasi yang diberi label secara terpisah harus memiliki project Firebase-nya sendiri, tetapi versi Apple dan Android dari label tersebut dapat berada dalam project yang sama. Baca panduan mendetail selengkapnya di praktik terbaik umum untuk menyiapkan project Firebase.
Dalam kasus yang jarang terjadi ketika project Anda memerlukan lebih dari 30 aplikasi, Anda dapat meminta peningkatan batas aplikasi. Project Anda harus termasuk dalam paket harga Blaze untuk membuat permintaan ini. Buka Google Cloud console untuk mengajukan permintaan Anda dan memintanya dievaluasi. Pelajari lebih lanjut pengelolaan kuota di dokumentasi Google Cloud.
Apa yang terjadi jika saya memberi tag pada project saya sebagai lingkungan "produksi"?
Di Firebase console, Anda dapat memberi tag pada project Firebase dengan jenis lingkungannya, baik sebagai lingkungan Production maupun Unspecified (non-produksi).
Memberi tag pada project sebagai jenis lingkungan tidak berpengaruh pada cara kerja project Firebase atau fitur-fiturnya. Namun, pemberian tag dapat membantu Anda dan tim mengelola berbagai project Firebase untuk siklus proses aplikasi.
Jika Anda memberi tag pada project sebagai lingkungan produksi, kami menambahkan tag Prod berwarna terang pada project di Firebase console, yang mengingatkan Anda bahwa setiap perubahan dapat memengaruhi aplikasi produksi terkait. Di masa mendatang, kami mungkin menambahkan lebih banyak fitur dan pengamanan untuk project Firebase yang diberi tag sebagai lingkungan produksi.
Untuk mengubah jenis lingkungan project Firebase Anda, buka settings Project settings > General, lalu di kartu Your project di bagian Environment, klik edit untuk mengubah jenis lingkungan.
Di mana saya dapat menemukan ID Aplikasi untuk aplikasi Firebase saya?
Di Firebase console, buka settings Project settings. Scroll ke bawah ke kartu Your apps, lalu klik Aplikasi Firebase yang ingin dilihat informasi aplikasinya, termasuk App ID.
Berikut beberapa contoh nilai ID Aplikasi:
-
Aplikasi iOS Firebase:
1:1234567890:ios:321abc456def7890
-
Aplikasi Android Firebase:
1:1234567890:android:321abc456def7890
-
Aplikasi Web Firebase:
1:1234567890:web:321abc456def7890
Apa prasyarat untuk menautkan Google Play/AdMob/Google Ads/BigQuery ke project atau aplikasi Firebase saya?
- Untuk menautkan
akun Google Play, Anda memerlukan hal berikut:
- Salah satu dari peran Firebase berikut:
Pemilik atau Admin Firebase, dan - Salah satu tingkat akses Google Play berikut: Pemilik atau Admin akun
- Salah satu dari peran Firebase berikut:
- Untuk menautkan aplikasi AdMob, Anda harus menjadi pemilik project Firebase dan administrator AdMob.
- Untuk menautkan akun AdWords, Anda harus menjadi pemilik project Firebase dan administrator AdWords.
- Untuk menautkan project BigQuery, Anda harus menjadi pemilik project Firebase.
Pemberitahuan open source apa yang harus saya sertakan dalam aplikasi?
Pada platform Apple, pod Firebase memuat file NOTICES yang berisi entri yang relevan. Firebase Android SDK berisi Activity
helper untuk menampilkan informasi lisensi.
Izin dan akses ke project Firebase
Bagaimana cara menetapkan peran seorang anggota project, misalnya peran Pemilik?
Untuk mengelola peran yang ditetapkan ke setiap anggota project, Anda harus menjadi Pemilik project Firebase (atau diberi peran dengan izin resourcemanager.projects.setIamPolicy
).
Berikut adalah tempat untuk menetapkan dan mengelola peran:
- Firebase menawarkan cara yang sederhana untuk menetapkan peran kepada anggota project di tab Users and permissions settings > Project settings. Di Firebase console, Anda dapat menetapkan peran dasar (Pemilik, Editor, Viewer), peran Admin/Viewer Firebase, atau salah satu dari peran kategori produk Firebase yang telah ditetapkan.
- Google Cloud console menawarkan serangkaian alat yang luas untuk menetapkan peran kepada anggota project di halaman IAM. Di Cloud console, Anda juga dapat membuat dan mengelola peran khusus, serta memberi akun layanan akses ke project Anda.
Perlu diketahui bahwa di Google Cloud console, anggota project disebut sebagai utama.
Jika Pemilik project Anda tidak dapat lagi melakukan tugas Pemilik (misalnya, orang tersebut keluar dari perusahaan) dan project Anda tidak dikelola melalui organisasi Google Cloud (lihat paragraf berikutnya), Anda dapat menghubungi Dukungan Firebase dan menanyakan cara meminta akses ke project Firebase.
Perlu diperhatikan bahwa jika project Firebase merupakan bagian dari organisasi Google Cloud, project tersebut mungkin tidak memiliki Pemilik. Jika Anda tidak dapat menemukan Pemilik untuk project Firebase Anda, hubungi orang yang mengelola organisasi Google Cloud Anda untuk menetapkan Pemilik bagi project tersebut.
Bagaimana cara menemukan Pemilik project Firebase?
Anda dapat melihat anggota project dan perannya di tempat berikut:
- Jika memiliki akses ke project di Firebase console, Anda dapat melihat daftar anggota project, termasuk Pemilik, di halaman Users and permissions Firebase console.
- Jika Anda tidak memiliki akses ke project di Firebase console, periksa apakah Anda memiliki akses ke project tersebut di Google Cloud console. Anda dapat melihat daftar anggota project, termasuk Pemilik, di halaman IAM di Google Cloud console.
Jika Pemilik project Anda tidak dapat lagi melakukan tugas Pemilik (misalnya, karena keluar dari perusahaan) dan project Anda tidak dikelola melalui organisasi Google Cloud (lihat paragraf berikutnya), Anda dapat menghubungi Dukungan Firebase untuk menetapkan Pemilik sementara.
Perlu diperhatikan bahwa jika project Firebase merupakan bagian dari organisasi Google Cloud, project tersebut mungkin tidak memiliki Pemilik. Sebagai gantinya, orang yang mengelola organisasi Google Cloud Anda dapat melakukan banyak tugas yang dapat dilakukan Pemilik. Namun, untuk beberapa tugas khusus Pemilik (seperti menetapkan peran atau mengelola properti Google Analytics), administrator mungkin perlu menetapkan peran Pemilik sebenarnya untuk menjalankan tugas tersebut. Jika Anda tidak dapat menemukan Pemilik untuk project Firebase Anda, hubungi orang yang mengelola organisasi Google Cloud Anda untuk menetapkan Pemilik bagi project tersebut.
Mengapa atau kapan saya harus menetapkan peran Pemilik kepada seorang anggota project?
Untuk memastikan pengelolaan project Firebase yang tepat, project harus memiliki Pemilik. Pemilik project adalah orang yang dapat melakukan beberapa tindakan administratif penting (seperti menetapkan peran dan mengelola properti Google Analytics), dan Dukungan Firebase hanya dapat memenuhi permintaan administratif dari Pemilik project yang ditunjukkan.
Setelah menyiapkan Pemilik untuk sebuah project Firebase, Anda harus selalu memperbarui tugas tersebut.
Perhatikan bahwa jika project Firebase merupakan bagian dari organisasi Google Cloud, orang yang mengelola organisasi Google Cloud dapat melakukan banyak tugas yang dapat dilakukan Pemilik. Namun, untuk beberapa tugas khusus Pemilik (seperti menetapkan peran atau mengelola properti Google Analytics), administrator mungkin perlu menetapkan peran Pemilik yang sebenarnya untuk melakukan tugas tersebut.
Sepertinya saya tidak punya project Firebase, tetapi saya menerima email tentang suatu project. Bagaimana cara mengakses project ini?
Email yang Anda terima seharusnya berisi link untuk membuka project Firebase. Mengklik link di email tersebut akan membuka project di Firebase console.
Jika tidak dapat membuka project di link, pastikan Anda login ke Firebase menggunakan Akun Google yang sama dengan yang menerima email tentang project tersebut. Anda dapat login dan logout dari Firebase console melalui avatar akun di pojok kanan atas konsol.
Perlu diperhatikan bahwa jika Anda adalah administrator organisasi Google Cloud, Anda dapat diberi tahu tentang perubahan pada project Firebase di dalam organisasi Anda. Namun, Anda mungkin tidak memiliki izin yang memadai untuk membuka project Firebase. Dalam kasus ini, solusi yang paling sederhana adalah menetapkan peran Pemilik sebenarnya kepada Anda untuk membuka project dan melakukan tindakan yang diperlukan. Pelajari lebih lanjut alasan dan waktu untuk menetapkan peran Pemilik.
Platform dan framework
Kunjungi halaman FAQ & pemecahan masalah khusus platform untuk mendapatkan tips dan jawaban yang bermanfaat untuk FAQ lainnya.
Firebase console
Apa saja browser yang didukung untuk mengakses Firebase console?
Firebase console dapat diakses dari browser desktop populer versi terbaru, seperti Chrome, Firefox, Safari, dan Edge. Browser seluler saat ini belum sepenuhnya didukung.
Saya dapat memuat Firebase console, tetapi mengapa saya tidak dapat menemukan atau mengakses project Firebase saya?
FAQ ini berlaku jika Anda mengalami salah satu masalah berikut:
- Firebase console akan menampilkan halaman error yang menyatakan bahwa project Anda mungkin tidak ada atau Anda tidak memiliki akses ke project tersebut.
- Firebase console tidak menampilkan project Anda meski Anda memasukkan project ID atau nama project-nya di kolom penelusuran konsol.
Coba langkah-langkah pemecahan masalah ini:
- Pertama, coba akses project Anda dengan langsung mengunjungi URL project. Gunakan format berikut:
https://console.firebase.google.com/project/PROJECT-ID/overview
- Jika Anda tetap tidak dapat mengakses project atau menerima error izin,
periksa hal berikut:
- Pastikan Anda login ke Firebase menggunakan Akun Google yang sama dengan yang memiliki akses ke project. Anda dapat login dan logout dari Firebase console melalui avatar akun di pojok kanan atas konsol.
- Pastikan Firebase Management API diaktifkan untuk project.
- Pastikan Anda diberi salah satu peran IAM dasar (Pemilik, Editor, Viewer) atau peran yang memiliki izin terkait Firebase di dalamnya, misalnya peran Firebase yang telah ditetapkan. Anda dapat melihat peran di halaman IAM di Google Cloud console.
- Jika project Anda termasuk dalam organisasi Google Cloud, Anda mungkin memerlukan izin tambahan untuk melihat project yang tercantum di Firebase console. Hubungi orang yang mengelola organisasi Google Cloud Anda untuk memberi Anda peran yang sesuai dalam melihat project, misalnya peran Browser.
Jika tidak satu pun langkah pemecahan masalah di atas yang memungkinkan Anda menemukan atau mengakses project, hubungi Dukungan Firebase.
Mengapa Firebase console tidak dapat dimuat?
FAQ ini berlaku jika Anda mengalami salah satu masalah berikut:
- Halaman di Firebase console tidak pernah selesai dimuat.
- Data dalam halaman tidak dimuat seperti yang diharapkan.
- Anda akan menerima pesan error browser saat memuat Firebase console.
Coba langkah-langkah pemecahan masalah ini:
- Periksa baris Console pada Dasbor Status Firebase untuk kemungkinan gangguan layanan.
- Pastikan Anda menggunakan browser yang didukung.
- Coba muat Firebase dalam jendela samaran atau pribadi.
- Nonaktifkan semua ekstensi browser.
- Verifikasi bahwa koneksi jaringan tidak diblokir oleh pemblokir iklan, antivirus, proxy, firewall, atau software lainnya.
- Coba muat Firebase console menggunakan jaringan atau perangkat lain.
- Jika menggunakan Chrome, periksa Developer Tools Console apakah ada error.
Jika langkah-langkah pemecahan masalah di atas tidak menyelesaikan masalah, hubungi Dukungan Firebase.
Bagaimana cara menyetel bahasa Firebase console?
Setelan bahasa untuk Firebase console didasarkan pada bahasa yang dipilih di setelan Akun Google Anda.
Untuk mengubah preferensi bahasa, lihat Mengubah bahasa.
Firebase console mendukung bahasa berikut:
- Inggris
- Portugis Brasil
- Prancis
- Jerman
- Indonesia
- Jepang
- Korea
- Rusia
- China Aksara Sederhana
- Spanyol
- China Aks. Tradisional
Apa saja peran dan izin yang didukung Firebase console?
Firebase console dan Google Cloud console menggunakan peran dan izin pokok yang sama. Pelajari lebih lanjut peran dan izin dalam dokumentasi IAM Firebase.
Firebase mendukung peran fundamental (dasar) Pemilik, Editor, dan Viewer:
- Pemilik project dapat menambahkan anggota lain ke project, menyiapkan integrasi (penautan project ke layanan seperti BigQuery atau Slack), dan memiliki akses edit penuh terhadap project.
- Editor project memiliki akses edit penuh terhadap project.
- Viewer project hanya memiliki akses baca terhadap project. Perhatikan bahwa Firebase console saat ini tidak menyembunyikan/menonaktifkan kontrol UI edit dari Viewer project, tetapi operasi tersebut akan gagal bagi anggota project yang diberi peran Viewer.
Firebase juga mendukung:
- Peran Firebase yang telah ditetapkan — Peran khusus Firebase pilihan yang memungkinkan kontrol akses yang lebih terperinci daripada peran dasar Pemilik, Editor, dan Viewer.
- Peran khusus — Peran IAM yang disesuaikan sepenuhnya yang dibuat untuk menyesuaikan dengan serangkaian izin yang memenuhi persyaratan khusus organisasi Anda.
Firebase Local Emulator Suite
Mengapa log Emulator Suite menampilkan error yang dimulai dengan "Multiple projectIds not recommended in single project mode"?
Pesan ini berarti Emulator Suite mendeteksi bahwa emulator produk mungkin sedang menjalankan emulator produk tertentu menggunakan project ID yang berbeda. Hal ini dapat mengindikasikan kesalahan konfigurasi, dan dapat menyebabkan masalah saat emulator mencoba berkomunikasi satu sama lain, dan saat Anda mencoba berinteraksi dengan emulator dari kode Anda. Jika project ID tidak cocok, sering kali sepertinya data tidak ada, karena data yang disimpan di emulator dikunci untuk projectID, dan interoperabilitas bergantung pada project ID yang cocok.
Hal ini menjadi sumber kebingungan umum di kalangan developer. Oleh karena itu,
secara default, Local Emulator Suite hanya akan mengizinkan berjalan dengan
satu project ID, kecuali jika Anda menentukan sebaliknya di
file konfigurasi firebase.json
. Jika terdeteksi lebih dari
satu project ID, emulator akan membuat log peringatan dan kemungkinan menampilkan error
fatal.
Periksa deklarasi project ID Anda untuk ketidakcocokan di:
-
Project default yang ditetapkan di command line. Secara default, project ID akan diambil saat memulai dari project yang dipilih dengan
firebase init
ataufirebase use
. Untuk melihat daftar project (dan melihat project mana yang dipilih), gunakanfirebase projects:list
. -
Pengujian unit. Project ID sering ditentukan dalam panggilan ke metode library Pengujian Unit Aturan
initializeTestEnvironment
atauinitializeTestApp
. Kode pengujian lain dapat diinisialisasi denganinitializeApp(config)
. -
Flag command line
--project
. Meneruskan flag--project
Firebase CLI akan menggantikan project default. Anda harus memastikan nilai flag sesuai dengan project ID dalam pengujian unit dan inisialisasi aplikasi.
Tempat khusus platform untuk diperiksa:
Web | Properti projectId di objek firebaseConfig JavaScript Anda, digunakan di initializeApp .
|
Android | Properti project_id di dalam file konfigurasi google-services.json .
|
Platform Apple | Properti PROJECT_ID di file konfigurasi GoogleService-Info.plist .
|
Untuk menonaktifkan satu mode project, update firebase.json
dengan kunci singleProjectMode
:
{ "firestore": { ... }, "functions": { ... }, "hosting": { ... }, "emulators": { "singleProjectMode": false, "auth": { "port": 9099 }, "functions": { "port": 5001 }, ... } }
Harga
Untuk FAQ harga khusus produk, lihat bagian produk di halaman ini atau dalam dokumentasi produk khusus.
Produk manakah yang berbayar? Mana yang gratis?
Produk infrastruktur berbayar Firebase adalah Realtime Database, Cloud Storage for Firebase, Cloud Functions, Hosting, Test Lab, dan autentikasi dengan ponsel. Kami menawarkan paket tanpa biaya untuk semua fitur ini.
Firebase juga memiliki banyak produk tanpa biaya: Analytics, Cloud Messaging, Notifications Composer, Remote Config, App Indexing, Dynamic Links, dan Crash Reporting. Penggunaan produk ini hanya tunduk pada kebijakan kontrol traffic produk (misalnya kuota, akses wajar, dan perlindungan layanan lainnya) di semua paket, termasuk paket Spark. tanpa biaya. Selain itu, semua fitur Authentication selain autentikasi dengan ponsel juga gratis.
Apakah Firebase menawarkan kredit uji coba tanpa biaya untuk produk berbayar?
Layanan berbayar Firebase dapat digunakan dalam Uji Coba Gratis Google Cloud. Pengguna baru Google Cloud dan Firebase dapat memanfaatkan periode uji coba 90 hari yang mencakup kredit Cloud Billing gratis senilai $300 untuk menjelajahi serta mengevaluasi produk dan layanan Google Cloud dan Firebase.
Selama periode Uji Coba Gratis Google Cloud, Anda akan diberi akun Cloud Billing Uji Coba Gratis. Semua project Firebase yang menggunakan akun penagihan tersebut akan berada dalam paket harga Blaze selama periode uji coba gratis.
Jangan khawatir, kami tidak akan menagih Anda selama proses penyiapan akun Cloud Billing Uji Coba Gratis ini. Anda tidak akan ditagih kecuali Anda secara eksplisit mengaktifkan penagihan dengan mengupgrade akun Cloud Billing Uji Coba Gratis ke akun berbayar. Anda dapat mengupgrade ke akun berbayar kapan saja selama periode uji coba. Setelah mengupgrade, Anda masih dapat menggunakan sisa kredit yang ada (dalam periode 90 hari).
Setelah periode uji coba gratis berakhir, Anda perlu mendowngrade project ke paket harga Spark atau menyiapkan paket harga Blaze di Firebase console untuk terus menggunakan project Firebase Anda.
Pelajari lebih lanjut Uji Coba Gratis Google Cloud.
Bagaimana cara mengetahui paket yang sesuai untuk saya?
Paket harga Spark
Paket Spark adalah pilihan yang tepat untuk mengembangkan aplikasi Anda tanpa biaya. Anda akan mendapatkan semua fitur Firebase gratis (Analytics, Notifications Composer, Crashlytics, dsb.) serta berbagai fitur infrastruktur berbayar. Namun, jika Anda melampaui resource paket Spark dalam satu bulan kalender, aplikasi Anda akan dimatikan selama sisa bulan tersebut. Selain itu, fitur Google Cloud tidak tersedia saat menggunakan paket Spark.
Paket harga Blaze
Paket Blaze kami dirancang untuk aplikasi produksi. Dengan paket Blaze, Anda juga dapat memperluas aplikasi dengan fitur Google Cloud berbayar. Anda hanya membayar resource yang terpakai sehingga Anda dapat menyesuaikan skalanya dengan kebutuhan. Kami berusaha membuat harga paket Blaze yang bersaing dengan penyedia cloud terdepan di industri.
Bisakah saya mengupgrade, mendowngrade, atau membatalkan kapan saja?
Ya, Anda bisa mengupgrade, mendowngrade, atau membatalkan kapan saja. Perlu diperhatikan bahwa kami tidak menyediakan pengembalian dana prorata untuk downgrade atau pembatalan. Artinya, jika Anda mendowngrade atau membatalkan sebelum akhir periode penagihan, Anda tetap membayar sisanya untuk bulan tersebut.
Apa perbedaan penggunaan gratis antara paket Blaze dan paket Spark?
Penggunaan gratis untuk paket Blaze dihitung setiap hari. Batas penggunaan juga berbeda dari paket Spark untuk Cloud Functions, autentikasi dengan ponsel, dan Test Lab.
Untuk Cloud Functions, penggunaan gratis pada paket Blaze dihitung pada tingkat akun Cloud Billing, bukan tingkat project, dan memiliki batasan berikut:
- 2 juta pemanggilan/bulan
- 400 ribu GB-detik/bulan
- 200 ribu CPU-detik/bulan
- 5 GB jaringan traffic keluar/bulan
Untuk autentikasi ponsel, penggunaan gratis pada paket Blaze dihitung setiap bulan.
Untuk Test Lab, penggunaan gratis pada paket Blaze memiliki batasan berikut:
- 30 menit pada perangkat fisik/hari
- 60 menit pada perangkat virtual/hari
Apakah kuota penggunaan gratis dapat direset saat saya beralih dari paket Spark ke Blaze?
Penggunaan gratis dari paket Spark sudah disertakan dalam paket Blaze. Penggunaan gratis tidak direset saat beralih ke paket Blaze.
Apa yang akan terjadi dengan project Firebase jika saya menambahkan atau menghapus akun penagihan untuk project itu di Google Cloud console?
Jika akun Cloud Billing ditambahkan ke project di Google Cloud Console, project yang sama akan otomatis diupgrade ke paket Firebase Blaze jika project tersebut saat ini menggunakan paket Spark.
Sebaliknya, jika akun Cloud Billing aktif yang ada dihapus dari project di Google Cloud console, project tersebut akan didowngrade ke paket Firebase Spark.
Bagaimana cara memantau penggunaan dan penagihan saya?
Anda dapat melacak penggunaan resource project di Firebase console pada salah satu dasbor berikut:
- Dasbor Usage and billing level project keseluruhan
- Dasbor Usage Authentication (khusus untuk instance autentikasi dengan Ponsel)
- Dasbor Usage Cloud Firestore
- Dasbor Usage Cloud Functions
- Dasbor Usage Cloud Storage
- Dasbor Usage Hosting
- Dasbor Usage Realtime Database
Bisakah saya membatasi pemakaian paket Blaze?
Tidak, saat ini Anda tidak bisa membatasi pemakaian paket Blaze. Kami mengevaluasi opsi untuk mendukung pembatasan pada pemakaian paket Blaze.
Pengguna Blaze dapat menentukan anggaran untuk project atau akun mereka, dan menerima peringatan saat pembelanjaan mereka mendekati batas tersebut. Pelajari cara menyiapkan pemberitahuan anggaran.
Dukungan jenis apakah yang akan saya terima?
Semua aplikasi Firebase, termasuk yang menggunakan paket gratis, disertai dengan dukungan email dari staf Firebase selama jam kerja di waktu Pasifik AS. Semua akun memiliki dukungan tak terbatas untuk masalah terkait penagihan, masalah terkait akun, pertanyaan teknis (pemecahan masalah), dan laporan insiden.
Apakah Anda menawarkan diskon untuk project open source, lembaga nonprofit, atau lembaga pendidikan?
Paket Spark dapat digunakan oleh semua jenis individu atau organisasi, termasuk lembaga nonprofit, sekolah, dan project open source. Karena paket ini sudah memiliki kuota yang melimpah, kami tidak menawarkan diskon atau paket spesial untuk project open source, lembaga nonprofit, atau lembaga pendidikan.
Apakah Anda menawarkan kontrak, harga, dukungan, atau hosting infrastruktur khusus untuk perusahaan?
Paket Blaze kami cocok untuk perusahaan besar maupun kecil, dan SLA kami memenuhi atau melampaui standar industri untuk infrastruktur cloud. Namun, saat ini kami tidak menawarkan kontrak, harga, atau dukungan untuk perusahaan. Kami juga tidak menawarkan hosting infrastruktur khusus (misalnya penginstalan lokal) untuk layanan seperti Realtime Database. Kami berusaha sebaik mungkin untuk menambahkan beberapa fitur ini.
Apakah Anda menawarkan harga khusus? Saya hanya ingin pembayaran sesuai penggunaan untuk satu atau dua fitur.
Kami menawarkan harga khusus dalam paket Blaze yang mengharuskan Anda membayar fitur yang Anda gunakan saja.
Bagaimana cara kerja paket Firebase berbayar dengan Ads? Apakah ada kredit iklan gratis pada paket berbayar?
Paket harga Firebase terpisah dari Ads, jadi tidak ada kredit iklan gratis. Sebagai developer Firebase, Anda dapat "menautkan" akun Ads ke Firebase untuk mendukung tracking konversi.
Semua kampanye iklan dikelola langsung di Ads, dan penagihan Ads dikelola dari Ads console.
Apa yang terjadi dengan paket harga Flame?
Pada bulan Januari 2020, paket harga Flame ($25/bln untuk kuota tambahan)
tidak lagi tersedia bagi pendaftar baru. Pengguna paket yang sudah ada diberi masa tenggang untuk memigrasikan project mereka dari paket Flame.
Pada Februari 2022, project yang tersisa di paket harga Flame didowngrade ke paket harga Spark.
Oleh karena itu,
- Project paket Spark dan Blaze yang sudah ada serta project baru tidak dapat lagi beralih atau mendaftar ke paket Flame.
- Jika Anda memindahkan project paket Flame yang sudah ada ke paket harga lain, project tersebut tidak dapat dipindahkan kembali ke paket Flame.
- Project yang didowngrade ke paket Spark dapat diupgrade ke paket Blaze untuk melanjutkan layanan berbayar tambahan.
- Referensi ke paket Flame telah dihapus dari dokumentasi.
Apakah Anda memiliki pertanyaan lain tentang penghentian paket Flame? Baca beberapa FAQ tambahan di bawah.
Ingin mempelajari paket harga lain yang ditawarkan oleh Firebase? Buka halaman harga Firebase kami. Jika ingin mulai memindahkan project yang sudah ada ke paket harga lain, Anda dapat melakukannya di Firebase console untuk project Anda.
FAQ tambahan tentang penghentian paket Flame
Saya memiliki project, proses, atau model bisnis yang bergantung pada biaya Firebase yang tetap. Apa yang harus saya lakukan?
Daftar ke paket harga Blaze, lalu pastikan untuk menetapkan pemberitahuan anggaran.
Bolehkah saya diberi akses khusus untuk membuat project paket Flame baru?
Tidak, Firebase tidak menawarkan akses khusus bagi project untuk beralih atau mendaftar ke paket Flame.
Saya mengubah project paket Flame saya ke paket harga lain. Bagaimana cara mengubahnya kembali?
Beralih ke paket Flame tidak dapat dilakukan lagi. Untuk akses ke layanan yang disediakan oleh paket Flame, pastikan bahwa Anda menggunakan paket harga Blaze, dan pertimbangkan untuk menyiapkan pemberitahuan anggaran bagi project Anda.
Project saya otomatis dialihkan ke paket harga lain sebagai bagian dari penghentian paket Flame. Apa yang harus saya lakukan?
Jika project Anda memerlukan kuota tambahan di luar kuota yang disediakan bersama paket Spark, Anda harus mengupgrade project ke paket harga Blaze.
Mengapa paket Flame dihentikan?
Selama bertahun-tahun, kami telah melihat penurunan penggunaan paket Flame, dan sebagian besar project yang menggunakan paket tersebut tidak memanfaatkannya dengan maksimal. Mempertahankan paket harga ini umumnya tidak efektif dari sisi biaya, dan kami merasa dapat memberikan layanan yang lebih baik kepada semua orang jika resource dialokasikan ke inisiatif Firebase lainnya.
Privasi
Di mana saya dapat menemukan informasi tentang privasi dan keamanan di Firebase?
Buka halaman Privasi dan Keamanan di Firebase.
Apakah Firebase SDK mencatat semua informasi penggunaan/diagnostik di luar Analytics?
Ya. Firebase SDK saat ini hanya tersedia untuk iOS, tetapi dapat berubah di masa mendatang. SDK platform Firebase Apple menyertakan framework FirebaseCoreDiagnostics
secara default. Framework ini digunakan oleh Firebase untuk mengumpulkan informasi penggunaan dan diagnostik SDK guna membantu memprioritaskan peningkatan produk di masa mendatang. FirebaseCoreDiagnostics
bersifat opsional, jadi jika memilih untuk tidak mengirimkan log diagnostik Firebase, Anda dapat melakukannya dengan membatalkan link library dari aplikasi. Anda dapat menjelajahi sumber lengkapnya,
termasuk nilai yang tercatat, di
GitHub
A/B Testing
A/B Testing: Berapa banyak eksperimen yang dapat saya buat dan jalankan?
Anda dapat melakukan hingga 300 eksperimen per project, yang dapat terdiri dari maksimum 24 eksperimen yang sedang berjalan, dan eksperimen lainnya sebagai draf atau selesai.
A/B Testing: Mengapa saya tidak dapat melihat eksperimen setelah membatalkan tautan dan menautkan ulang project ke Google Analytics?
Penautan ke properti Google Analytics lain akan menyebabkan Anda kehilangan akses ke eksperimen yang dibuat sebelumnya. Untuk mendapatkan kembali akses ke eksperimen sebelumnya, tautkan ulang project ke properti Google Analytics yang ditautkan saat eksperimen dibuat.
A/B Testing: Mengapa saya menerima pesan "Project not linked to Google Analytics" saat membuat eksperimen Remote Config?
Jika Anda telah menautkan Firebase dan Google Analytics, tetapi masih melihat pesan bahwa Google Analytics belum ditautkan, pastikan aliran data Analytics tersedia untuk semua aplikasi dalam project Anda. Saat ini, semua aplikasi dalam sebuah project harus terhubung ke aliran data Google Analytics agar dapat menggunakan A/B Testing.
Anda dapat menemukan daftar semua aliran data yang aktif di halaman detail integrasi Google Analytics dalam Firebase console, yang diakses dari settingsProject Settings chevron_right Integrations chevron_right Google Analytics chevron_right Manage.
Masalah tersebut akan selesai dengan membuat aliran data Google Analytics untuk semua aplikasi yang belum memilikinya. Ada beberapa cara untuk membuat aliran data bagi aplikasi yang tidak ada:
-
Jika Anda hanya memiliki satu atau dua aplikasi yang tidak memiliki aliran data Google Analytics terkait, Anda dapat memilih
salah satu metode berikut untuk menambahkan aliran data Google Analytics:
- Hapus dan tambahkan kembali aplikasi apa pun tanpa aliran yang aktif di Firebase console.
- Dari konsol Google Analytics, pilih Admin, klik Data Streams, lalu klik Add stream, tambahkan detail aplikasi yang tidak ada, lalu klik Register app.
-
Jika terdapat banyak aliran data aplikasi yang tidak ada, cara tercepat dan paling efisien untuk membuat aliran data aplikasi yang tidak ada adalah dengan membatalkan tautan dan menautkan ulang properti
Google Analytics:
- Dari settings Project Settings, pilih Integrations.
- Di kartu Google Analytics, klik Manage untuk mengakses setelan Firebase dan Google Analytics.
- Catat Property ID Google Analytics dan Linked Google Analytics account.
- Klik more_vert More dan pilih Unlink Analytics from this project.
-
Tinjau peringatan yang muncul (jangan khawatir; Anda akan menautkan ulang properti yang sama pada langkah berikutnya), lalu klik Unlink Google Analytics.
Setelah pembatalan tautan selesai, Anda akan dialihkan ke halaman Integrations. - Di kartu Google Analytics, klik Enable untuk memulai proses penautan ulang.
- Pilih akun Analytics dari daftar Select account.
-
Di samping Automatically create a new property in this account, klik
edit Edit, lalu dari daftar
Analytics property yang muncul, pilih ID properti Anda.
Daftar semua aplikasi di project Anda akan muncul. Pemetaan aliran data yang sudah ada untuk setiap aplikasi akan dicantumkan, dan aplikasi yang belum memiliki aliran data akan dibuatkan aliran datanya. - Klik Enable Google Analytics untuk menautkan ulang properti.
- Klik Finish.
Jika Anda masih menerima pesan error membuat A/B Testing dengan Remote Config setelah melakukan langkah-langkah ini, hubungi Dukungan Firebase.
AdMob
AdMob: Bisakah saya menautkan aplikasi Windows ke Firebase?
Tidak, aplikasi Windows saat ini tidak didukung.
AdMob: Mengapa saya tidak dapat menautkan aplikasi ke AdMob dari Firebase console?
Anda dapat menautkan aplikasi AdMob ke aplikasi Firebase melalui AdMob console. Pelajari caranya.
AdMob: Izin atau akses apa yang saya perlukan untuk menautkan aplikasi Firebase ke aplikasi AdMob?
Untuk melakukannya, Anda memerlukan akses berikut:
- AdMob: Anda harus menjadi admin AdMob.
- Firebase: Anda harus memiliki izin
firebase.links.create
, yang disertakan dalam peran Pemilik dan peran Firebase Admin. - Google Analytics: Anda harus memiliki peran Edit atau Kelola Pengguna untuk properti yang terkait dengan project Firebase. Pelajari lebih lanjut.
AdMob: Bisakah beberapa pengguna dalam akun AdMob yang sama menautkan aplikasi AdMob dan aplikasi Firebase?
Untuk akun AdMob multi-pengguna, pengguna yang membuat link Firebase pertama dan menyetujui Persyaratan Layanan Firebase adalah satu-satunya pengguna yang dapat membuat penautan baru antara aplikasi AdMob dan Firebase.
AdMob: Untuk menggunakan AdMob, SDK mana yang harus saya gunakan?
Untuk menggunakan AdMob, selalu gunakan Google Mobile Ads SDK seperti yang dijelaskan dalam FAQ ini. Selain itu dan opsional, jika Anda ingin mengumpulkan metrik pengguna untuk AdMob, sertakan Firebase SDK untuk Google Analytics di aplikasi Anda.
- Untuk project iOS:
Impor Google Mobile Ads SDK dengan mengikuti petunjuk dalam dokumentasi AdMob untuk iOS. - Untuk project Android:
Tambahkan dependensi untuk Google Mobile Ads SDK ke filebuild.gradle
Anda:
implementation 'com.google.android.gms:play-services-ads:23.6.0'
- Untuk project C++ dan project Unity: Ikuti petunjuk dalam dokumentasi terkait.
Analytics
Analytics: Mengapa Google Analytics merupakan salah satu hal yang direkomendasikan dalam penggunaan produk Firebase?
Google Analytics adalah solusi analisis tanpa biaya dan tanpa batas yang dapat digunakan bersama fitur-fitur Firebase untuk memberikan analisis yang andal. Dengan solusi ini, Anda dapat melihat log aktivitas di Crashlytics, efektivitas notifikasi di FCM, performa deep link untuk Dynamic Links, dan data pembelian dalam aplikasi dari Google Play. Solusi ini berperan penting dalam penargetan audience tingkat lanjut di Remote Config, personalisasi Remote Config, dan lainnya.
Google Analytics berfungsi sebagai lapisan kecerdasan di Firebase console, yang akan memberi Anda lebih banyak hasil analisis yang bisa ditindaklanjuti tentang cara mengembangkan aplikasi yang berkualitas tinggi, membangun basis pengguna, dan meningkatkan penghasilan.
Untuk memulai, baca dokumentasinya.
Analytics: Bagaimana cara mengontrol pembagian data Analytics dengan komponen Firebase lainnya?
Secara default, data Google Analytics Anda digunakan untuk meningkatkan kualitas fitur-fitur lain di Firebase dan Google. Anda dapat mengontrol pembagian data Google Analytics di setelan project kapan saja. Pelajari Setelan berbagi data lebih lanjut.
Analytics: Bagaimana cara memperbarui setelan properti Analytics saya?
Dari halaman Admin di properti Google Analytics, Anda dapat memperbarui setelan properti, seperti:
- Setelan berbagi data
- Setelan retensi data
- Setelan zona waktu dan mata uang
Untuk memperbarui setelan properti, ikuti langkah-langkah berikut:
- Di Firebase console, buka settings > Project settings.
- Buka tab Integrations, lalu di kartu Google Analytics, klik Manage atau View link.
- Klik link akun Google Analytics Anda untuk membuka setelan akun dan properti.
Analytics di aplikasi iOS: Dapatkah saya menginstal Analytics tanpa atribusi iklan dan fitur pengumpulan IDFA?
Ya. Baca halaman Mengonfigurasi Pengumpulan dan Penggunaan Data untuk mengetahui detail selengkapnya.
Analytics: Apa yang berubah di bagian Google Analytics setelah update Oktober 2021?
Anda dapat menemukan ringkasan perubahan ini di artikel Pusat Bantuan Firebase Fungsi baru Google Analytics 4 di Google Analytics for Firebase.
Analytics: Mengapa saya tidak melihat data Analytics di Firebase console setelah membatalkan tautan Firebase dari Google Analytics?
Data Analytics berada di dalam properti Google Analytics — bukan di dalam project Firebase. Jika Anda menghapus atau membatalkan tautan ke properti ini, data Analytics tidak akan dapat diakses oleh Firebase dan Anda akan melihat dasbor Analytics kosong di Firebase console. Perhatikan bahwa karena data masih berada di properti yang ditautkan sebelumnya, Anda dapat menautkan ulang properti ke Firebase kapan saja dan melihat data Analytics di Firebase console.
Menautkan akun Google Analytics baru (serta properti Google Analytics baru) ke project Firebase Anda akan mengakibatkan dasbor Analytics kosong di Firebase console. Namun, jika properti yang sebelumnya ditautkan masih ada, Anda dapat memindahkan data yang ada dari properti lama ke properti baru.
Analytics: Jika properti Analytics saya beserta datanya dihapus, apakah ada cara untuk mengembalikannya?
Tidak. Jika properti telah dihapus, Anda tidak dapat membatalkan penghapusan properti itu atau mengambil data Analytics yang sebelumnya dikumpulkan yang disimpan di properti tersebut.
Jika ingin mulai menggunakan Google Analytics lagi, Anda dapat menautkan properti baru atau yang sudah ada ke project Firebase. Anda dapat melakukan penautan ini di Firebase console atau UI Google Analytics. Pelajari lebih lanjut cara menautkan properti Google Analytics ke project Firebase Anda.
Analytics: Jika properti Analytics saya telah dihapus, dapatkah saya menautkan properti Google Analytics baru ke project Firebase dan mulai menggunakan Analytics lagi?
Jika ingin mulai menggunakan Google Analytics lagi, Anda dapat menautkan properti baru atau yang sudah ada ke project Firebase. Anda dapat melakukan penautan ini di Firebase console atau UI Google Analytics. Pelajari lebih lanjut cara menautkan properti Google Analytics ke project Firebase Anda.
Perhatikan bahwa karena semua data Analytics disimpan di properti (bukan di project Firebase), data Analytics yang dikumpulkan sebelumnya tidak dapat diambil.
Analytics: Bagaimana penghapusan properti Analytics akan memengaruhi produk Firebase atau produk Google yang telah diintegrasikan?
Beberapa produk Firebase mengandalkan integrasi Google Analytics. Jika properti Analytics Anda dan datanya dihapus, hal berikut akan terjadi jika Anda menggunakan produk berikut:
- Crashlytics — Anda tidak dapat lagi melihat pengguna bebas error, log breadcrumb, dan/atau pemberitahuan kecepatan.
- Cloud Messaging dan In-App Messaging — Anda tidak dapat lagi menggunakan penargetan, metrik kampanye, segmentasi audience, dan label analisis.
- Remote Config — Anda tidak dapat lagi menggunakan konfigurasi yang ditargetkan atau Personalisasi.
- A/B Testing — Anda tidak dapat lagi menggunakan A/B Testing karena pengukuran eksperimen disediakan oleh Google Analytics.
- Dynamic Links — Setiap fitur yang bergantung pada data dari Google Analytics akan terganggu.
Selain itu, integrasi berikut akan terpengaruh:
- Anda tidak dapat lagi mengekspor data Analytics ke BigQuery.
- Anda tidak dapat lagi memanfaatkan integrasi Google Ads atau integrasi Google AdMob.
Analytics: Bagaimana cara menentukan segmen pengguna yang belum memenuhi beberapa kriteria?
Anda dapat menggunakan sudut pandang yang berbeda untuk masalah tersebut dengan "penargetan negatif" terhadap pengguna. Misalnya, gunakan "Jangan tampilkan iklan kepada orang yang telah membeli sesuatu" dan bentuk audience yang terdiri dari para pengguna tersebut untuk ditargetkan.
Analytics: Apakah audience dan/atau peristiwa yang ditentukan di antarmuka Google Analytics juga tersedia di Firebase console?
Properti pengguna dan audience Anda akan disinkronkan. Untuk beberapa fitur, Anda harus menggunakan antarmuka Google Analytics, seperti segmentasi dan funnel tertutup. Anda dapat mengakses antarmuka Google Analytics langsung melalui deep link dari Firebase console.
Semua perubahan yang Anda buat dari Firebase console juga dapat dilakukan di Google Analytics, dan perubahan tersebut akan tercermin di Firebase.
Authentication
Firebase Authentication: Wilayah mana saja yang didukung untuk autentikasi dengan ponsel?
Firebase Authentication mendukung verifikasi nomor telepon secara global, tetapi tidak semua jaringan dapat memberikan pesan verifikasi dengan andal. Wilayah berikut memiliki tingkat pengiriman yang bagus, dan seharusnya dapat berfungsi dengan baik untuk otentikasi ponsel. Sebagai informasi, beberapa operator tidak tersedia di suatu wilayah karena tingkat keberhasilan pengiriman yang buruk.
Region | Kode |
---|---|
AD | Andorra |
AE | Uni Emirat Arab |
AF | Afganistan |
AG | Antigua dan Barbuda |
AL | Albania |
AM | Armenia |
AO | Angola |
AR | Argentina |
AS | Samoa Amerika |
AT | Austria |
AU | Australia |
AW | Aruba |
AZ | Azerbaijan |
BA | Bosnia-Herzegovina |
BB | Barbados |
BD | Bangladesh |
BE | Belgia |
BF | Burkina Faso |
BG | Bulgaria |
BJ | Benin |
BM | Bermuda |
BN | Brunei Darussalam |
BO | Bolivia |
BR | Brasil |
BS | Bahama |
BT | Bhutan |
BW | Botswana |
BY | Belarus |
BZ | Belize |
CA | Kanada |
CD | Kongo, (Kinshasa) |
CF | Republik Afrika Tengah |
CG | Kongo (Brazzaville) |
CH | Swiss |
CI | Côte d'Ivoire |
CK | Kepulauan Cook |
CL | Cile |
CM | Kamerun |
CO | Kolombia |
CR | Kosta Rika |
CV | Tanjung Verde |
CW | Curaçao |
CY | Siprus |
CZ | Republik Ceko |
DE | Jerman |
DJ | Djibouti |
DK | Denmark |
DM | Dominika |
DO | Republik Dominika |
DZ | Aljazair |
EC | Ekuador |
EG | Mesir |
ES | Spanyol |
ET | Etiopia |
FI | Finlandia |
FJ | Fiji |
FK | Kepulauan Falkland (Malvinas) |
FM | Mikronesia, Negara Federasi |
FO | Kepulauan Faroe |
FR | Prancis |
GA | Gabon |
GB | Inggris Raya |
GD | Grenada |
GE | Georgia |
GF | Guyana Prancis |
GG | Guernsey |
GH | Ghana |
GI | Gibraltar |
GL | Greenland |
GM | Gambia |
GP | Guadeloupe |
GQ | Guinea Ekuatorial |
GR | Yunani |
GT | Guatemala |
GY | Guyana |
HK | Hong Kong, SAR China |
HN | Honduras |
HR | Kroasia |
HT | Haiti |
HU | Hungaria |
ID | Indonesia |
IE | Irlandia |
IL | Israel |
IM | Pulau Man |
IN | India |
IQ | Irak |
IT | Italia |
JE | Jersey |
JM | Jamaika |
JO | Yordania |
JP | Jepang |
KE | Kenya |
KG | Kirgizstan |
KH | Kamboja |
KM | Komoro |
KN | Saint Kitts dan Nevis |
KR | Korea Selatan |
KW | Kuwait |
KY | Kepulauan Cayman |
KZ | Kazakhstan |
LA | Republik Demokratis Rakyat Laos |
LB | Lebanon |
LC | Saint Lucia |
LI | Liechtenstein |
LK | Sri Lanka |
LS | Lesotho |
LT | Lituania |
LU | Luksemburg |
LV | Latvia |
LY | Libya |
MA | Maroko |
MD | Moldova |
ME | Montenegro |
MF | Saint-Martin (bagian Prancis) |
MG | Madagaskar |
MK | Makedonia, Republik |
MM | Myanmar |
MN | Mongolia |
MO | Makau, SAR China |
MS | Montserrat |
MT | Malta |
MU | Mauritius |
MW | Malawi |
MX | Meksiko |
MY | Malaysia |
MZ | Mozambik |
NA | Namibia |
NC | Kaledonia Baru |
NE | Niger |
NF | Pulau Norfolk |
NG | Nigeria |
NI | Nikaragua |
NL | Belanda |
NO | Norwegia |
NP | Nepal |
NZ | Selandia Baru |
OM | Oman |
PA | Panama |
PE | Peru |
PG | Papua Nugini |
PH | Filipina |
PK | Pakistan |
PL | Polandia |
PM | Saint Pierre dan Miquelon |
PR | Puerto Riko |
PS | Teritorial Palestina |
PT | Portugal |
PY | Paraguay |
QA | Qatar |
RE | Réunion |
RO | Rumania |
RS | Serbia |
RU | Federasi Rusia |
RW | Rwanda |
SA | Arab Saudi |
SC | Seychelles |
SE | Swedia |
SG | Singapura |
SH | Saint Helena |
SI | Slovenia |
SK | Slovakia |
SL | Sierra Leone |
SN | Senegal |
SR | Suriname |
ST | Sao Tome dan Principe |
SV | El Salvador |
SZ | eSwatini |
TC | Kepulauan Turks dan Caicos |
TG | Togo |
TH | Thailand |
TL | Timor Leste |
TM | Turkmenistan |
TO | Tonga |
TR | Turki |
TT | Trinidad dan Tobago |
TW | Taiwan, Republik China |
TZ | Tanzania, Republik Persatuan |
UA | Ukraina |
UG | Uganda |
US | Amerika Serikat |
UY | Uruguay |
UZ | Uzbekistan |
VC | Saint Vincent dan Grenadines |
VE | Venezuela (Republik Bolivar) |
VG | Kepulauan Virgin Inggris |
VI | Kepulauan Virgin, AS |
VN | Vietnam |
WS | Samoa |
YE | Yaman |
YT | Mayotte |
ZA | Afrika Selatan |
ZM | Zambia |
ZW | Zimbabwe |
Firebase Authentication: Apa yang terjadi dengan SMS gratis pada paket Spark?
Mulai September 2024, untuk meningkatkan keamanan dan kualitas layanan Autentikasi dengan Ponsel, project Firebase harus ditautkan ke akun Penagihan Cloud untuk mengaktifkan dan menggunakan Layanan SMS.
Firebase Authentication: Bagaimana cara mencegah penyalahgunaan SMS saat menggunakan autentikasi dengan ponsel?
Untuk membantu melindungi project Anda dari traffic pumping SMS dan penyalahgunaan API, lakukan langkah-langkah berikut:
Pertimbangkan untuk menetapkan kebijakan wilayah SMS
Lihat penggunaan SMS regional.
Cari wilayah dengan jumlah SMS yang dikirim dalam jumlah sangat tinggi dan jumlah SMS terverifikasi yang sangat rendah (atau nol). Rasio terverifikasi/terkirim adalah tingkat keberhasilan Anda. Tingkat keberhasilan yang sehat biasanya berkisar 70-85% karena SMS bukanlah protokol pengiriman yang dijamin, dan beberapa wilayah dapat mengalami penyalahgunaan. Tingkat keberhasilan di bawah 50% berarti banyak SMS yang dikirim, tetapi sedikit login yang berhasil, yang merupakan indikator umum oleh pihak tidak bertanggung jawab dan traffic pumping SMS.
Gunakan Kebijakan Wilayah SMS untuk menolak wilayah SMS yang memiliki tingkat keberhasilan rendah, atau hanya mengizinkan wilayah tertentu jika aplikasi Anda hanya ditujukan untuk distribusi di pasar tertentu.
Membatasi domain autentikasi yang diotorisasi
Gunakan dasbor setelan Authentication untuk mengelola domain yang diotorisasi. Domain localhost
ditambahkan secara default ke domain autentikasi yang disetujui untuk menyederhanakan pengembangan. Pertimbangkan untuk menghapus
localhost
dari domain yang diotorisasi di project produksi Anda untuk
mencegah pihak tidak bertanggung jawab menjalankan kode di localhost
mereka untuk mengakses project produksi.
Mengaktifkan dan menerapkan App Check
Aktifkan App Check untuk membantu melindungi project Anda dari penyalahgunaan API dengan membuktikan bahwa permintaan hanya berasal dari aplikasi yang terkait dengan project Anda.
Untuk menggunakan App Check dengan Firebase Authentication, Anda harus mengupgrade ke Firebase Authentication with Identity Platform.
Perlu diingat bahwa Anda perlu menerapkan App Check untuk Authentication di Firebase console (pertimbangkan untuk memantau traffic sebelum menerapkannya). Selain itu, periksa kembali daftar situs yang disetujui reCAPTCHA Enterprise untuk memvalidasi bahwa daftar tersebut hanya berisi situs produksi Anda, dan daftar aplikasi yang terdaftar untuk project Anda di App Check adalah akurat.
Perhatikan bahwa App Check membantu melindungi dari serangan otomatis dengan menyatakan bahwa panggilan tersebut berasal dari salah satu aplikasi terdaftar Anda. Pengujian ini tidak mencegah pengguna menggunakan aplikasi Anda dengan cara yang tidak diinginkan (misalnya, memulai atau tidak menyelesaikan alur login untuk menghasilkan SMS terkirim).
Firebase Authentication: Apakah nomor telepon ditransfer ke operator baru yang didukung oleh autentikasi dengan ponsel?
Saat ini, nomor yang ditransfer di antara operator akan mengakibatkan semua SMS tidak dapat dikirim kepada pengguna akhir tersebut. Untuk sementara belum ada solusinya dan Firebase sedang berupaya mengatasi masalah ini.
Firebase Authentication: Di aplikasi Android, mengapa saya mendapatkan
error berikut:
Google sign in failed
?
Google sign in failed
Ikuti langkah-langkah pemecahan masalah dalam FAQ ini jika mendapatkan error berikut:
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
Pastikan login dengan Google diaktifkan dengan benar sebagai penyedia autentikasi:
Di Firebase console, buka bagian Authentication.
Dalam tab Sign in method, nonaktifkan, lalu aktifkan kembali metode login dengan Google (meskipun sudah diaktifkan):
Buka metode login dengan Google, nonaktifkan, lalu klik Save.
Buka kembali metode login dengan Google, aktifkan, lalu klik Save.
Pastikan aplikasi Anda menggunakan file konfigurasi Firebase terbaru (
google-services.json
).
Dapatkan file konfigurasi aplikasi.Periksa apakah Anda masih mendapatkan error tersebut. Jika ya, lanjutkan ke langkah pemecahan masalah berikutnya.
Pastikan klien OAuth 2.0 pokok yang diperlukan ada.
Di halaman Credentials di Google Cloud console, lihat bagian OAuth 2.0 Client IDs.
Jika klien OAuth 2.0 tidak ada (dan Anda telah melakukan semua langkah pemecahan masalah di atas), hubungi tim Dukungan.
Firebase Authentication: Di aplikasi platform Apple, mengapa saya
mendapatkan error berikut:
You must specify <clientID> in <GIDConfiguration>
?
You must specify <clientID> in <GIDConfiguration>
Ikuti langkah-langkah pemecahan masalah dalam FAQ ini jika mendapatkan error berikut:
You must specify |clientID| in |GIDConfiguration|
Pastikan login dengan Google diaktifkan dengan benar sebagai penyedia autentikasi:
Di Firebase console, buka bagian Authentication.
Dalam tab Sign in method, nonaktifkan, lalu aktifkan kembali metode login dengan Google (meskipun sudah diaktifkan):
Buka metode login dengan Google, nonaktifkan, lalu klik Save.
Buka kembali metode login dengan Google, aktifkan, lalu klik Save.
Pastikan aplikasi Anda menggunakan file konfigurasi Firebase terbaru (
GoogleService-Info.plist
).
Dapatkan file konfigurasi aplikasi.Periksa apakah Anda masih mendapatkan error tersebut. Jika ya, lanjutkan ke langkah pemecahan masalah berikutnya.
Pastikan klien OAuth 2.0 pokok yang diperlukan ada.
Di halaman Credentials di Google Cloud console, lihat bagian OAuth 2.0 Client IDs.
Jika klien OAuth 2.0 tidak ada (dan Anda telah melakukan semua langkah pemecahan masalah di atas), hubungi tim Dukungan.
Firebase Authentication: Di aplikasi web, mengapa saya mendapatkan
error berikut:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
?
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Ikuti langkah-langkah pemecahan masalah dalam FAQ ini jika mendapatkan error berikut:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Pastikan login dengan Google diaktifkan dengan benar sebagai penyedia autentikasi:
Di Firebase console, buka bagian Authentication.
Dalam tab Sign in method, nonaktifkan, lalu aktifkan kembali metode login dengan Google (meskipun sudah diaktifkan):
Buka metode login dengan Google, nonaktifkan, lalu klik Save.
Buka kembali metode login dengan Google, aktifkan, lalu klik Save.
Selain itu, pada konfigurasi penyedia login dengan Google di bagian Authentication, pastikan secret dan client ID OAuth cocok dengan klien web yang ditampilkan di halaman Credentials di Google Cloud console (lihat bagian OAuth 2.0 Client IDs).
Firebase Authentication: Di aplikasi web saya, mengapa login dengan pengalihan gagal
dan menampilkan error berikut:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
Ikuti langkah-langkah pemecahan masalah dalam FAQ ini jika mendapatkan error berikut:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Error ini kemungkinan besar terjadi karena domain pengalihan Anda tidak tercantum sebagai domain yang diizinkan untuk Firebase Authentication, atau kunci API yang Anda gunakan dengan Layanan Firebase Authentication tidak valid.
Pertama, pastikan YOUR_REDIRECT_DOMAIN ada dalam daftar domain yang diizinkan untuk project Firebase Anda. Jika domain pengalihan Anda sudah tercantum di sana, lanjutkan untuk memecahkan masalah kunci API yang tidak valid.
Secara default, Firebase Authentication JS SDK bergantung pada kunci API untuk project Firebase
Anda yang diberi label sebagai Browser key
, dan menggunakan kunci ini untuk memverifikasi bahwa
URL alihan login valid sesuai dengan daftar domain yang diizinkan.
Authentication mendapatkan kunci API ini, bergantung pada cara Anda mengakses Authentication SDK:
Jika Anda menggunakan helper Auth yang disediakan Hosting untuk memproses login pengguna dengan Authentication JS SDK, Firebase akan otomatis mendapatkan kunci API Anda bersama konfigurasi Firebase lainnya setiap kali Anda men-deploy ke Firebase Hosting. Pastikan bahwa
authDomain
di aplikasi webfirebaseConfig
Anda dikonfigurasi dengan benar untuk menggunakan salah satu domain untuk situs Hosting tersebut. Anda dapat memverifikasinya dengan membukahttps://authDomain__/firebase/init.json
, dan memeriksa apakahprojectId
cocok denganfirebaseConfig
Anda.Jika Anda menghosting sendiri kode login, Anda dapat menggunakan file
__/firebase/init.json
untuk menyediakan konfigurasi Firebase ke helper Pengalihan Authentication JS SDK yang dihosting sendiri. Kunci API danprojectId
yang tercantum dalam file konfigurasi ini harus cocok dengan aplikasi webfirebaseConfig
Anda.
Periksa untuk memastikan kunci API ini belum dihapus: Buka panel APIs & Services > Credentials di Konsol Google Cloud tempat semua Kunci API untuk project Anda akan dicantumkan.
Jika
Browser key
belum dihapus, periksa hal-hal berikut:Pastikan Firebase Authentication API ada dalam daftar API yang diizinkan untuk kunci yang akan diakses (pelajari lebih lanjut pembatasan API untuk kunci API).
Jika Anda menghosting sendiri kode login, pastikan kunci API yang tercantum dalam file
__/firebase/init.json
cocok dengan kunci API di Konsol Cloud. Perbaiki kunci dalam file, jika perlu, lalu deploy ulang aplikasi Anda.Jika
Browser key
telah dihapus, Anda dapat meminta Firebase membuat kunci API baru untuk Anda: Di Firebase console, buka settings > Project settings, lalu di bagian Your apps, klik aplikasi web Anda. Tindakan ini akan otomatis membuat kunci API yang dapat Anda lihat di bagian SDK setup and configuration untuk aplikasi web Anda.
Perhatikan bahwa di Konsol Cloud, kunci API baru ini tidak akan dipanggil
Browser key
; sebagai gantinya, nama tersebut akan sama dengan nama panggilan Aplikasi Web Firebase. Jika Anda memutuskan untuk menambahkan pembatasan API ke kunci API baru ini, pastikan Firebase Authentication API tercantum dalam daftar API yang diizinkan.Setelah kunci API baru Anda dibuat, selesaikan langkah-langkah yang berlaku di bawah ini:
Jika Anda menggunakan URL Hosting yang dicadangkan, deploy ulang aplikasi Anda ke Firebase agar bisa otomatis mendapatkan kunci API baru dengan konfigurasi Firebase Anda lainnya.
Jika Anda menghosting sendiri kode login, salin kunci API baru dan tambahkan ke file
__/firebase/init.json
, lalu deploy ulang aplikasi Anda.
Firebase Authentication: Bagaimana cara membuat klien web OAuth secara manual?
Buka halaman Credentials di Google Cloud console.
Di bagian atas halaman, pilih Create credentials > OAuth client ID.
Jika diminta untuk mengonfigurasi layar izin, ikuti petunjuk di layar, lalu lanjutkan dengan langkah FAQ berikut.
Buat klien web OAuth:
Untuk Application Type, pilih Web application.
Untuk Authorized JavaScript Origins, tambahkan berikut ini:
http://localhost
http://localhost:5000
https://PROJECT_ID.firebaseapp.com
https://PROJECT_ID.web.app
Untuk Authorized Redirect URIs, tambahkan berikut ini:
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
Simpan klien OAuth.
Salin rahasia klien dan client ID OAuth yang baru ke papan klip.
Di Firebase console, buka bagian Authentication.
Dalam tab Sign in method, buka penyedia Google sign-in, lalu tempel secret dan client ID server web yang baru Anda buat dan salin dari Google Cloud console. Klik Save.
Firebase Authentication: Bagaimana %APP_NAME%
ditentukan untuk template email pada email konfirmasi yang dapat
dikirim kepada pengguna saat mereka mendaftar menggunakan alamat email dan sandi?
Sebelum Desember 2022, %APP_NAME%
di template email diisi dengan
nama merek OAuth yang disediakan secara otomatis setiap kali aplikasi Android
didaftarkan di project Firebase. Sekarang, karena merek OAuth hanya disediakan jika login dengan Google diaktifkan, penentuan %APP_NAME%
dijelaskan sebagai berikut:
Jika nama merek OAuth tersedia,
%APP_NAME%
dalam template email akan menjadi nama merek OAuth (sama seperti perilaku sebelum Desember 2022).Jika nama merek OAuth tidak tersedia,
%APP_NAME%
di template email ditentukan sebagai berikut:Untuk aplikasi web,
%APP_NAME%
akan menjadi nama situs Firebase Hosting default (nilai yang diawali dengan.firebaseapp.com
dan.web.app
serta biasanya project ID Firebase).Untuk aplikasi seluler:
Jika nama paket Android atau ID paket iOS ada dalam permintaan,
%APP_NAME%
akan menjadi nama aplikasi yang digunakan di Play Store atau App Store (berturut-turut).Atau,
%APP_NAME%
akan menjadi nama situs Firebase Hosting default (nilai yang diawali dengan.firebaseapp.com
dan.web.app
, serta biasanya project ID Firebase).
Perhatikan bahwa jika pencarian nama situs Firebase Hosting default gagal, alternatif terakhir adalah menggunakan project ID Firebase sebagai
%APP_NAME%
.
Cloud Functions
Dukungan runtime Cloud Functions
Bagaimana cara mengupgrade ke Node.js versi terbaru yang didukung?
- Pastikan Anda menggunakan paket harga Blaze.
- Pastikan Anda menggunakan Firebase CLI versi terbaru.
- Perbarui kolom
engines
dipackage.json
fungsi. - Jika ingin, Anda dapat menguji perubahan menggunakan Firebase Local Emulator Suite.
- Deploy ulang semua fungsi.
Bagaimana cara memastikan bahwa saya telah men-deploy fungsi ke runtime Node.js tertentu?
Di Firebase console, buka dasbor fungsi, pilih fungsi, dan periksa bahasa fungsi di bagian Additional details.
Saya menggunakan Firebase Extensions. Apakah saya akan terpengaruh oleh update runtime Cloud Functions?
Ya. Karena ekstensi menggunakan Cloud Functions, runtime ekstensi Anda perlu diupdate pada linimasa yang sama dengan Cloud Functions.
Sebaiknya update setiap ekstensi yang diinstal di project Anda ke versi terbaru secara berkala. Anda dapat mengupgrade ekstensi project melalui Firebase console atau Firebase CLI.
Harga Cloud Functions
Mengapa saya memerlukan akun penagihan untuk menggunakan Cloud Functions for Firebase?
Cloud Functions for Firebase bergantung pada beberapa layanan Google berbayar. Deployment fungsi baru dengan Firebase CLI 11.2.0 dan yang lebih tinggi mengandalkan Cloud Build dan Artifact Registry. Deployment ke versi yang lebih lama akan menggunakan Cloud Build dengan cara yang sama, tetapi mengandalkan Container Registry dan Cloud Storage untuk penyimpanan, bukan Artifact Registry. Penggunaan layanan ini akan mendapat tagihan tambahan selain harga yang sudah ada.
Ruang penyimpanan untuk Firebase CLI 11.2.0 dan versi yang lebih baru
Artifact Registry menyediakan container tempat fungsi dijalankan. Artifact Registry menyediakan 500 MB pertama tanpa biaya, sehingga deployment fungsi pertama Anda mungkin tidak dikenai biaya. Di atas batas tersebut, setiap GB penyimpanan tambahan ditagih $0,10 per bulan.
Ruang penyimpanan untuk Firebase CLI 11.1.x dan versi sebelumnya
Untuk fungsi yang di-deploy ke versi yang lebih lama, Container Registry, menyediakan container tempat fungsi dijalankan. Anda akan ditagih untuk setiap container yang diperlukan untuk men-deploy fungsi. Anda mungkin akan melihat tagihan kecil untuk setiap container yang disimpan—misalnya, penyimpanan 1 GB dikenakan biaya $0,026 per bulan.
Untuk memahami lebih lanjut bagaimana tagihan Anda dapat berubah, harap tinjau
- Harga Cloud Functions: paket gratis yang ada tidak berubah.
- Harga Cloud Build: Cloud Build menyediakan paket gratis.
- Harga Artifact Registry.
- Harga Container Registry.
Apakah Cloud Functions for Firebase masih memiliki penggunaan gratis?
Ya. Pada paket Blaze, Cloud Functions menyediakan paket gratis untuk pemanggilan, waktu komputasi, dan traffic internet. Untuk 2.000.000 pemanggilan, 400.000 GB-detik, 200.000 CPU-detik, dan 5 GB traffic keluar Internet pertama disediakan gratis setiap bulan. Anda hanya akan ditagih untuk penggunaan di atas nilai minimum tersebut.
Setelah 500 MB penyimpanan gratis pertama, setiap operasi deployment akan dikenai biaya kecil untuk ruang penyimpanan yang digunakan sebagai container fungsi. Jika proses pengembangan Anda bergantung pada deployment fungsi untuk pengujian, Anda dapat meminimalkan biaya lebih lanjut dengan menggunakan Firebase Local Emulator Suite selama pengembangan.
Lihat Paket harga Firebase dan skenario contoh Harga Cloud Functions.
Apakah Firebase berencana menaikkan kuota dan batas untuk Cloud Functions for Firebase?
Tidak. Tidak ada rencana untuk mengubah kuota kecuali untuk penghapusan batas waktu build maksimum; Anda akan ditagih berdasarkan persyaratan paket harga Blaze, bukan menerima error atau peringatan saat kuota build harian 120 menit tercapai. Lihat Kuota dan batas.
Bisakah saya mendapatkan kredit Google Cloud sebesar $300?
Ya, Anda dapat membuat akun Cloud Billing di Google Cloud console untuk mendapatkan kredit sebesar $300, lalu menautkan akun Cloud Billing tersebut ke project Firebase.
Selengkapnya tentang kredit Google Cloud di sini.
Perlu diingat bahwa jika Anda melakukannya, Anda harus menyiapkan paket harga Blaze di Firebase console agar project Anda dapat terus berjalan setelah kredit senilai $300 habis.
Saya ingin mengikuti codelab untuk mempelajari Firebase. Dapatkah Firebase memberi saya akun penagihan sementara?
Maaf, kami tidak bisa melakukannya. Anda dapat menggunakan emulator Firebase untuk pengembangan tanpa memiliki akun Cloud Billing. Atau, coba daftar ke uji coba gratis Google Cloud. Jika Anda masih mengalami masalah dalam membayar tagihan karena perubahan ini, hubungi Dukungan Firebase.
Saya khawatir akan memiliki tagihan yang besar.
Anda dapat menyiapkan pemberitahuan anggaran di Google Cloud console untuk membantu mengontrol biaya. Selain itu, Anda dapat menetapkan batas jumlah instance yang ditagih yang dibuat untuk setiap fungsi. Untuk mengetahui biaya pada skenario umum, lihat contoh Harga Cloud Functions.
Bagaimanakah cara memeriksa biaya tagihan saya saat ini?
Lihat dasbor Usage and billing di Firebase console.
Saya menggunakan Firebase Extensions. Apakah saya memerlukan akun penagihan?
Ya. Karena menggunakan Cloud Functions, ekstensi akan dikenai biaya yang sama dengan fungsi lainnya.
Untuk menggunakan ekstensi, Anda harus mengupgrade ke paket harga Blaze. Anda akan dikenakan biaya kecil (biasanya sekitar $0,01 per bulan) untuk resource Firebase yang diperlukan oleh setiap ekstensi yang diinstal (meskipun tidak digunakan), selain biaya yang terkait dengan penggunaan layanan Firebase.
Cloud Messaging
Cloud Messaging: Apa perbedaan antara Notifications composer dan Cloud Messaging?
Firebase Cloud Messaging menyediakan rangkaian kemampuan pesan yang lengkap melalui SDK kliennya dan protokol server HTTP dan XMPP. Untuk deployment dengan persyaratan pesan yang lebih kompleks, FCM adalah pilihan tepat.
Notifications Composer adalah solusi pesan yang ringan dan serverless yang dibangun pada Firebase Cloud Messaging. Dengan konsol grafis yang mudah digunakan dan persyaratan coding yang lebih sedikit, Notifications Composer dapat digunakan pengguna untuk mengirimkan pesan dengan mudah agar dapat berinteraksi kembali dengan pengguna dan mempertahankannya, memperkuat pertumbuhan aplikasi, dan mendukung kampanye pemasaran.
Kemampuan | Notifications composer | Cloud Messaging | |
---|---|---|---|
Target | Satu perangkat | ||
Klien berlangganan topik (misalnya, cuaca) | |||
Klien dalam segmen pengguna yang telah ditetapkan (aplikasi, versi, bahasa) | |||
Klien dalam audience analisis yang ditetapkan | |||
Klien dalam grup perangkat | |||
Upstream dari klien ke server | |||
Jenis Pesan | Notifikasi hingga 2 kb | ||
Pesan data hingga 4 kb | |||
Pengiriman | Segera | ||
Waktu lokal perangkat klien mendatang | |||
Analytics | Kumpulan analisis Notifications bawaan dan analisis funnel |
Cloud Messaging: Apple mengumumkan bahwa mereka menghentikan penggunaan protokol biner lama untuk APN. Apakah saya perlu melakukan sesuatu?
Tidak. Firebase Cloud Messaging beralih ke protokol APN berbasis HTTP/2 pada tahun 2017. Jika menggunakan FCM untuk mengirim notifikasi ke perangkat iOS, Anda tidak perlu melakukan tindakan apa pun.
Cloud Messaging: Apakah saya perlu menggunakan layanan Firebase lain untuk menggunakan FCM?
Anda dapat menggunakan Firebase Cloud Messaging sebagai komponen mandiri, seperti saat Anda menggunakan GCM, tanpa menggunakan layanan Firebase lainnya.
Cloud Messaging: Saya telah menjadi developer Google Cloud Messaging (GCM). Haruskah saya beralih ke Firebase Cloud Messaging?
FCM adalah GCM versi baru di bawah merek Firebase. Versi baru ini mewarisi infrastruktur inti GCM, dengan SDK baru untuk mempermudah pengembangan Cloud Messaging.
Manfaat melakukan upgrade ke FCM SDK meliputi:
- Pengembangan klien yang lebih sederhana. Anda tidak perlu menulis sendiri logika percobaan ulang untuk pendaftaran atau langganan.
- Solusi notifikasi siap pakai. Anda bisa menggunakan Notifications Composer, yaitu solusi notifikasi serverless dengan konsol web yang memungkinkan siapa saja mengirimkan notifikasi ke audience target tertentu berdasarkan data dari Google Analytics.
Untuk mengupgrade dari GCM SDK ke FCM SDK, baca panduan untuk memigrasikan aplikasi Android dan iOS.
Cloud Messaging: Mengapa perangkat yang ditargetkan sepertinya gagal menerima pesan?
Jika perangkat sepertinya gagal menerima pesan, periksa dua penyebab potensial berikut terlebih dahulu:
Penanganan pesan latar depan untuk pesan notifikasi. Agar dapat menangani pesan notifikasi ketika aplikasi berada di latar depan perangkat, aplikasi klien perlu menambahkan logika penanganan pesan. Baca informasi selengkapnya untuk iOS dan Android.
Pembatasan firewall jaringan. Jika organisasi Anda memiliki firewall yang membatasi traffic ke atau dari Internet, Anda harus mengonfigurasinya agar konektivitas dengan FCM dapat dilakukan. Dengan begitu, aplikasi klien Firebase Cloud Messaging Anda dapat menerima pesan. Port yang harus dibuka adalah:
- 5228
- 5229
- 5230
Biasanya, FCM menggunakan 5228, tetapi terkadang menggunakan 5229 dan 5230. FCM tidak menyediakan IP yang spesifik sehingga Anda harus mengizinkan firewall untuk menerima koneksi keluar ke semua alamat IP yang ada dalam blok IP yang tercantum dalam ASN Google, yaitu 15169.
Cloud Messaging: Saya telah menerapkan
onMessageReceived
di aplikasi Android saya, tetapi metode tersebut tidak
dipanggil.
Saat aplikasi Anda berada di latar belakang,
pesan notifikasi akan ditampilkan di baki sistem, dan
onMessageReceived
tidak akan dipanggil. Untuk pesan notifikasi dengan payload data, pesan notifikasi tersebut akan ditampilkan di baki sistem, dan data yang disertakan dengan pesan notifikasi tersebut dapat diambil dari intent yang dijalankan saat pengguna mengetuk notifikasi.
Untuk mengetahui informasi selengkapnya, baca Menerima dan menangani pesan.
Notifications Composer: Apa perbedaan antara Notifications Composer dan Cloud Messaging?
Notifications Composer adalah solusi pesan yang ringan dan serverless yang dibangun pada Firebase Cloud Messaging. Dengan konsol grafis yang mudah digunakan dan persyaratan coding yang lebih sedikit, Notifications Composer dapat digunakan pengguna untuk mengirimkan pesan dengan mudah agar dapat berinteraksi kembali dengan pengguna dan mempertahankannya, memperkuat pertumbuhan aplikasi, dan mendukung kampanye pemasaran.
Firebase Cloud Messaging menyediakan rangkaian kemampuan pesan yang lengkap melalui SDK kliennya dan protokol server HTTP dan XMPP. Untuk deployment dengan persyaratan pesan yang lebih kompleks, FCM adalah pilihan tepat.
Berikut adalah perbandingan kemampuan pengiriman pesan antara Firebase Cloud Messaging dan Notifications Composer:
Kemampuan | Notifications composer | Cloud Messaging | |
---|---|---|---|
Target | Satu perangkat | ||
Klien berlangganan topik (misalnya, cuaca) | |||
Klien dalam segmen pengguna yang telah ditetapkan (aplikasi, versi, bahasa) | |||
Klien dalam audience analisis yang ditetapkan | |||
Klien dalam grup perangkat | |||
Upstream dari klien ke server | |||
Jenis Pesan | Notifikasi hingga 2 kb | ||
Pesan data hingga 4 kb | |||
Pengiriman | Segera | ||
Waktu lokal perangkat klien mendatang | |||
Analytics | Kumpulan analisis Notifications bawaan dan analisis funnel |
Notifications Composer: Saya telah menjadi developer Google Cloud Messaging (GCM) dan saya ingin menggunakan Notifications Composer. Apa yang harus saya lakukan?
Notifications Composer adalah solusi siap pakai yang memungkinkan siapa saja mengirimkan notifikasi ke audience target tertentu berdasarkan data dari Google Analytics for Firebase. Notifications Composer juga menyediakan analisis funnel untuk setiap pesan, sehingga efektivitas notifikasi dapat dievaluasi dengan mudah.
Jika Anda telah menjadi developer GCM, maka Anda harus mengupgrade dari GCM SDK ke FCM SDK agar dapat menggunakan Notifications composer. Baca panduan untuk memigrasikan aplikasi Android dan iOS.
Fitur FCM tidak digunakan lagi mulai Juni 2023
API FCM mana saja yang tidak akan digunakan lagi mulai 20 Juni 2023, dan apa yang harus saya lakukan jika menggunakan API tersebut?
API/SDK berikut akan terpengaruh oleh penghentian tersebut:
API Server
Nama API | Endpoint API | Dampak terhadap pengguna | Tindakan Diperlukan |
---|---|---|---|
Protokol HTTP lama | https://fcm.googleapis.com/fcm/send | Permintaan ke endpoint ini akan mulai gagal setelah 21-06-2024. | Lakukan migrasi ke API HTTP v1. |
Protokol XMPP lama | fcm-xmpp.googleapis.com:5235 | Permintaan ke endpoint ini akan mulai gagal setelah 21-06-2024. | Lakukan migrasi ke API HTTP v1. |
API server ID instance | https://iid.googleapis.com/v1/web/iid | Permintaan ke endpoint ini akan mulai gagal setelah 21-06-2024. | Gunakan Web JS SDK untuk membuat pendaftaran web FCM. |
https://iid.googleapis.com/iid/* | Endpoint akan tetap berfungsi, tetapi tidak akan mendukung autentikasi menggunakan kunci server statis setelah 21-06-2024. | Gunakan token akses OAuth 2.0 yang berasal dari akun layanan. | |
API pengelolaan grup perangkat | https://fcm.googleapis.com/fcm/notification | Endpoint akan tetap berfungsi, tetapi tidak mendukung autentikasi menggunakan kunci server statis setelah 21-06-2024. | Gunakan token akses OAuth 2.0 yang berasal dari akun layanan. |
Pesan upstream melalui XMPP | fcm-xmpp.googleapis.com:5235 | Panggilan API ke FirebaseMessaging.send di aplikasi tidak akan memicu pesan upstream ke server aplikasi setelah 21-06-2024. | Implementasikan fungsi ini di logika server Anda. Misalnya, beberapa developer mengimplementasikan endpoint HTTP/gRPC mereka sendiri dan memanggil endpoint tersebut secara langsung untuk mengirim pesan dari klien mereka ke server aplikasi. Baca Panduan memulai gRPC ini untuk mengetahui contoh implementasi pesan upstream menggunakan gRPC. |
API Pengiriman Batch | https://fcm.googleapis.com/batch | Permintaan ke endpoint ini akan mulai gagal setelah 21-06-2024. | Lakukan migrasi ke metode pengiriman API HTTP v1 standar, yang mendukung HTTP/2 untuk multipleks. |
API Firebase Admin SDK
Nama API | Bahasa API | Dampak terhadap pengguna | Tindakan Diperlukan |
---|---|---|---|
sendToDevice()
|
Node.js | API ini akan berhenti berfungsi setelah 21-6-2024 karena memanggil API pengiriman HTTP lama. | Gunakan metode send() .
|
sendToDeviceGroup()
|
Node.js | API ini akan berhenti berfungsi setelah 21-6-2024 karena memanggil API pengiriman HTTP lama. | Gunakan metode send() .
|
sendToTopic()
|
Node.js | API ini akan berhenti berfungsi setelah 21-6-2024 karena memanggil API pengiriman HTTP lama. | Gunakan metode send() .
|
sendToCondition()
|
Node.js | API ini akan berhenti berfungsi setelah 21-6-2024 karena memanggil API pengiriman HTTP lama. | Gunakan metode send() .
|
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast()
|
Node.js, Java, Python, Go, C# | API ini akan berhenti berfungsi setelah 21-6-2024 karena memanggil API pengiriman batch. | Upgrade ke Firebase Admin SDK terbaru dan gunakan API yang baru sebagai gantinya: sendEach()/
sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/
send_each_for_multicast() .
Perhatikan bahwa API baru tidak lagi memanggil API kirim batch yang tidak digunakan lagi, dan karena alasan ini, API tersebut dapat membuat lebih banyak koneksi HTTP serentak daripada API lama. |
Client SDK
Versi SDK | Dampak terhadap pengguna | Tindakan Diperlukan |
---|---|---|
SDK GCM (tidak digunakan lagi mulai tahun 2018) | Aplikasi yang menggunakan SDK GCM tidak akan dapat mendaftarkan token atau menerima pesan dari FCM setelah 21-06-2024. | Upgrade Android SDK Anda ke Firebase SDK terbaru jika Anda belum melakukannya. |
SDK JS versi <7.0.0 (perubahan yang dapat menyebabkan gangguan pada versi 7.0.0 mulai tahun 2019) | Aplikasi web yang menggunakan SDK JS lama tidak dapat mendaftarkan token setelah 21-06-2024. | Upgrade Firebase Web SDK Anda ke versi terbaru. |
Apakah saya akan mendapati downgrade layanan sebelum Juni 2024?
Tidak. Anda memiliki waktu 12 bulan (20-06-2023 - 21-06-2024) untuk bermigrasi dari API lama ke API baru tanpa downgrade layanan. Sebaiknya Anda merencanakan migrasi sedini mungkin sehingga Anda tidak akan terpengaruh oleh penghentian API pada Juni 2024.
Setelah Juni 2024, Anda mungkin mendapati peningkatan error atau penurunan fungsionalitas saat menggunakan API/SDK yang tercantum di atas (lihat FAQ berikutnya untuk mengetahui informasi lebih lanjut).
Bagaimana dan kapan API yang tidak lagi digunakan akan dinonaktifkan?
FCM akan mulai menghentikan API yang tidak lagi digunakan secara bertahap sekitar 22 Juli 2024. Setelah tanggal ini, layanan yang tidak lagi digunakan akan mengalami proses "flickering" di mana peningkatan jumlah permintaan akan menampilkan respons error. Selama periode penyesuaian yang bertahap, frekuensi perilaku dan respons error berikut akan meningkat seiring waktu:
Kategori | Yang akan terjadi |
---|---|
Protokol HTTP lama | Permintaan ditolak dengan kode HTTP 301. |
Protokol XMPP lama | Permintaan ditolak dengan kode error 302. |
Upstream FCM | Pesan dihapus secara otomatis oleh backend FCM. |
API Pengiriman Batch | Permintaan ditolak dengan kode error UNIMPLEMENTED dan pesan error "The API is deprecated." |
GCM SDK - Mendaftarkan Token | Permintaan ditolak dengan kode HTTP 301. |
GCM SDK - Mengirim Pesan | Permintaan ditolak dengan kode error 400 dan pesan error "Token V3 tidak lagi digunakan." |
Versi JS SDK < 7.0.0 | Permintaan ditolak dengan kode HTTP 501. |
Menggunakan kunci server untuk mengakses ID Instance dan API pengelolaan grup perangkat | Permintaan ditolak dengan kode HTTP 401. |
Apa perbedaan antara token dan kunci server OAuth 2.0?
Token OAuth 2.0 adalah token berumur pendek yang berasal dari akun layanan. Token ini adalah model autentikasi standar Google dan lebih aman daripada kunci server statis.
Baca Menggunakan kredensial untuk membuat token akses guna mendapatkan panduan terkait penggunaan Library Google Auth untuk mendapatkan token.
Perhatikan bahwa header permintaan berbeda saat Anda menggunakan token OAuth 2.0 untuk permintaan ke endpoint yang berbeda.
- HTTP v1 API:
Authorization: Bearer $oauth_token
- API server ID instance dan API pengelolaan grup perangkat:
Authorization: Bearer $oauth_token
access_token_auth: true
Dapatkah saya memigrasikan permintaan ke API baru sekaligus?
Sebaiknya tingkatkan traffic Anda ke API baru secara perlahan. Jika Anda berencana untuk mengirim lebih dari 600.000 pesan/menit secara rutin, hubungi dukungan Firebase guna mengetahui petunjuk tentang cara meningkatkan kuota atau mendapatkan rekomendasi cara penyebaran traffic.
Apa perbedaan antara API HTTP v1 dan API lama saat saya mengirim pesan ke topik/grup perangkat?
Topik: Anda tidak perlu menambahkan awalan "/topics/" ke target topik saat menggunakan API v1.
Grup perangkat: Anda dapat menggunakan token grup sebagai target token di API HTTP v1. Namun, API HTTP v1 tidak menampilkan jumlah keberhasilan/kegagalan dalam respons. Sebaiknya gunakan topik FCM atau kelola grup perangkat Anda sendiri.
Apakah HTTP v1 API mendukung pengiriman pesan ke banyak token dalam satu permintaan?
Tidak. Fitur ini, yang disebut "multicast" di HTTP API lama, tidak didukung oleh HTTP v1 API, yang dirancang lebih baik untuk skalabilitas.
Untuk kasus penggunaan yang mementingkan latensi end-to-end, atau jika total ukuran fanout kecil (kurang dari 1 juta), Google merekomendasikan untuk mengirim beberapa permintaan terpisah menggunakan HTTP v1 API. HTTP v1 API melalui HTTP/2 memiliki performa yang serupa untuk 99,9% permintaan multicast (mengirim < 100 token). Untuk kasus penggunaan pencilan (mengirim 1.000 token), metode ini mencapai hingga sepertiga dari rasio throughput, sehingga diperlukan konkurensi tambahan untuk mengoptimalkan kasus penggunaan yang tidak biasa ini. Pengguna dapat menikmati keandalan dan ketersediaan yang lebih tinggi dengan HTTP v1 API dibandingkan dengan multicast lama.
Untuk kasus penggunaan yang memprioritaskan throughput dan bandwidth keluar, atau jika total ukuran fanout besar (lebih dari 1 juta), Google merekomendasikan pesan topik. Meskipun pengiriman pesan topik memerlukan tindakan satu kali untuk membuat penerima berlangganan topik, solusi ini menawarkan tingkat fanout hingga 10.000 QPS per project tanpa batas maksimum ukuran topik.
Apa saja versi Firebase Admin SDK yang memiliki API baru?
Platform | Versi Firebase Admin SDK |
---|---|
Node.js | >=11.7.0 |
Python | >=6.2.0 |
Java | >=9.2.0 |
Go | >=4.12.0 |
.NET | >=2.4.0 |
Apa perbedaan antara API pengiriman batch dan API HTTP v1?
API pengiriman batch FCM menggunakan format pesan dan mekanisme autentikasi yang sama dengan API HTTP v1. Namun, metode ini menggunakan endpoint yang berbeda. Jika Anda ingin meningkatkan efisiensi, sebaiknya gunakan HTTP/2 untuk mengirim beberapa permintaan melalui koneksi HTTP yang sama ke API HTTP v1.
Apa yang harus saya lakukan jika tidak dapat mengakses project?
Hubungi tim dukungan Google Cloud untuk mendapatkan bantuan.
Apakah project baru dapat mengaktifkan Cloud Messaging API lama?
Tidak. Mulai 20/5/2024, project baru tidak lagi diizinkan untuk mengaktifkan API lama kami.
Kapan saya dapat menonaktifkan Cloud Messaging API lama?
Setelah yakin bahwa Anda telah sepenuhnya bermigrasi ke HTTP v1 API, Anda dapat menonaktifkan Cloud Messaging API lama (halaman mungkin gagal dimuat jika API telah dinonaktifkan).
Kuota dan batas FCM
Bagaimana cara memberi tahu basis pelanggan yang besar dalam waktu 2 menit?
Sayangnya, kasus penggunaan ini tidak dapat didukung. Anda harus menyebarkan traffic selama 5 menit.
Aplikasi saya memberi tahu pengguna tentang peristiwa, dan pesan ini harus segera dikirim untuk mendukung model bisnis saya. Bisakah saya mendapatkan lebih banyak kuota?
Sayangnya, kami tidak dapat memberikan peningkatan kuota untuk alasan ini. Anda harus menyebarkan traffic selama 5 menit.
Pesan saya berisi peristiwa terjadwal. Bagaimana cara mengirim semua traffic saya secara tepat waktu?
Sebaiknya Anda mulai mengirimkan notifikasi setidaknya 5 menit sebelum peristiwa.
Berapa lama waktu yang dibutuhkan agar permintaan kuota saya terpenuhi?
Hal ini sedikit bergantung pada penggunaan FCM Anda. Apa pun itu, Anda akan mendapatkan jawabannya dalam beberapa hari kerja. Dalam beberapa kasus, mungkin ada beberapa hal yang perlu dikonfirmasi mengenai penggunaan FCM dan berbagai keadaan yang dapat membuat proses menjadi lama. Jika semua persyaratan terpenuhi, sebagian besar permintaan akan ditangani dalam waktu 2 minggu.
Bagaimana cara memantau penggunaan kuota saya?
Lihat panduan Google Cloud tentang cara membuat diagram dan memantau metrik kuota.
429 sulit untuk saya / bisnis saya tangani. Bisakah saya mendapatkan pengecualian atau kuota yang lebih besar untuk menghindari 429?
Kami memahami bahwa batasan kuota bisa menjadi tantangan yang sulit dan kuota sangatlah penting untuk menjaga keandalan layanan, tetapi kami tidak dapat memberikan pengecualian.
Bisakah saya mendapatkan lebih banyak kuota untuk peristiwa sementara?
Anda dapat meminta kuota tambahan untuk mendukung peristiwa yang berlangsung hingga 1 bulan. Ajukan permintaan setidaknya 1 bulan sebelum acara dan dengan detail yang jelas tentang kapan acara dimulai dan berakhir, dan FCM akan melakukan segala upaya praktis untuk memenuhi permintaan tersebut (tidak ada jaminan terkait peningkatan). Peningkatan kuota ini akan dikembalikan setelah tanggal berakhirnya peristiwa.
Apakah kuota saya saat ini dapat berubah?
Meskipun Google tidak akan melakukan hal ini dengan mudah, kuota dapat diubah sesuai kebutuhan untuk melindungi integritas sistem. Jika memungkinkan, Google akan memberi tahu Anda terlebih dahulu tentang perubahan tersebut.
Cloud Storage for Firebase
Cloud Storage for Firebase: Apa saja perubahan pada bucket default yang diumumkan pada September 2024?
Buka dokumentasi Cloud Storage untuk mempelajari lebih lanjut Perubahan untuk bucket Cloud Storage default.
Cloud Storage for Firebase: Mengapa saya tidak dapat menggunakan Cloud Storage for Firebase?
Cloud Storage for Firebase membuat bucket default di paket tanpa biaya App Engine. Dengan demikian, Anda dapat menyiapkan dan menjalankan Firebase dan Cloud Storage for Firebase dengan cepat, tanpa harus memasukkan kartu kredit atau mengaktifkan akun Cloud Billing. Selain itu, Anda juga dapat dengan mudah menggunakan data yang sama antara Firebase dan project Google Cloud.
Namun, ada dua kasus yang telah diketahui di mana bucket ini tidak bisa dibuat dan Anda tidak akan bisa menggunakan Cloud Storage for Firebase:
- Project yang diimpor dari Google Cloud yang memiliki aplikasi App Engine Master/Slave Datastore.
-
Project yang diimpor dari Google Cloud yang memiliki project
yang diawali domain. Contoh:
domain.com:project-1234
.
Saat ini, belum ada solusi untuk masalah tersebut. Anda sebaiknya membuat project baru di Firebase console, lalu mengaktifkan Cloud Storage for Firebase di project tersebut.
Cloud Storage for Firebase: Mengapa saya mendapatkan respons kode error 412 tentang izin akun layanan dan operasi akun layanan yang gagal saat menggunakan Cloud Storage for Firebase API?
Sepertinya Anda mendapatkan kode error 412 karena Cloud Storage for Firebase API tidak diaktifkan untuk project Anda atau akun layanan yang diperlukan tidak memiliki izin yang diminta.
Lihat FAQ terkait.
Cloud Storage for Firebase: Pada project paket Spark, dapatkah saya menyimpan file yang dapat dieksekusi?
Untuk project paket gratis (Spark), Firebase memblokir upload dan menghosting jenis file tertentu yang dapat dieksekusi untuk Windows, Android, dan Apple oleh Cloud Storage for Firebase dan Firebase Hosting. Kebijakan ini dibuat untuk mencegah penyalahgunaan di platform kami.
Penyajian, hosting, dan upload file dari file yang tidak diizinkan akan diblokir untuk semua project Spark yang dibuat pada atau setelah 28 September 2023. Untuk project Spark yang ada dengan file yang diupload sebelum tanggal tersebut, file tersebut masih dapat diupload dan dihosting.
Batasan ini berlaku untuk project paket Spark. Project dengan paket bayar sesuai penggunaan (Blaze) tidak akan terpengaruh.
Jenis file berikut tidak dapat dihosting di Firebase Hosting dan Cloud Storage for Firebase:
- File Windows dengan ekstensi
.exe
,.dll
, dan.bat
- File Android dengan ekstensi
.apk
- File platform Apple dengan ekstensi
.ipa
Apa yang harus saya lakukan?
Jika Anda masih ingin menghosting jenis file ini setelah 28 September 2023:
- Untuk Hosting: upgrade ke paket Blaze sebelum dapat men-deploy
jenis file ini ke Firebase Hosting melalui perintah
firebase deploy
. - Untuk Storage: upgrade ke paket Blaze untuk mengupload jenis file ini ke bucket pilihan Anda menggunakan GCS CLI, Firebase console, atau Google Cloud console.
Gunakan alat Firebase untuk mengelola resource Firebase Hosting dan Cloud Storage.
- Untuk mengelola resource di Firebase Hosting, gunakan Firebase console untuk menghapus rilis sesuai dengan panduan ini.
- Untuk mengelola resource di Cloud Storage, buka halaman produk Storage di project Anda.
- Pada tab Files, temukan file yang tidak diizinkan untuk dihapus di hierarki folder, lalu pilih file tersebut menggunakan kotak centang di samping nama file di sisi kiri panel ini.
- Klik Delete, dan konfirmasi bahwa file telah dihapus.
Lihat dokumentasi kami untuk informasi tambahan terkait cara mengelola resource Hosting dengan alat Firebase dan bucket Cloud Storage for Firebase dengan library klien.
Cloud Storage for Firebase: Mengapa saya melihat peningkatan yang tidak terduga dalam operasi upload dan download?
Sebelumnya, permintaan download dan upload ke Cloud Storage for Firebase API tidak dihitung dengan benar. Kami telah mengambil langkah-langkah untuk memperbaiki masalah ini, mulai 15 September 2023.
Bagi pengguna Blaze, operasi upload dan download akan mulai menghitung tagihan bulanan Anda. Bagi pengguna Spark, mereka akan mulai menghitung batas gratis bulanan Anda.
Sebaiknya pantau halaman Penggunaan Anda untuk setiap peningkatan yang mungkin diperhitungkan terhadap batas Anda.
Cloud Storage for Firebase: Mengapa saya melihat ID akun layanan baru yang terkait dengan project Firebase yang menggunakan Cloud Storage for Firebase?
Firebase menggunakan akun layanan untuk mengoperasikan dan mengelola layanan tanpa membagikan kredensial pengguna. Saat membuat project Firebase, Anda mungkin menyadari bahwa sejumlah akun layanan sudah tersedia di project Anda.
Akun layanan yang digunakan Cloud Storage for Firebase tercakup dalam project
Anda dan diberi nama service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
Jika menggunakan Cloud Storage for Firebase sebelum 19 September 2022, Anda mungkin
melihat akun layanan tambahan di bucket Cloud Storage yang sebelumnya ditautkan
yang diberi nama firebase-storage@system.gserviceaccount.com
. Mulai
19 September 2022, akun layanan ini tidak lagi didukung.
Anda dapat melihat semua akun layanan yang terkait dengan project Anda di Firebase console, di tab Service accounts.
Menambahkan akun layanan baru
Jika menghapus akun layanan sebelumnya atau akun layanan tidak ada dalam project, Anda dapat melakukan salah satu tindakan berikut untuk menambahkan akun tersebut.
- (Direkomendasikan) Otomatis: Gunakan endpoint REST AddFirebase untuk mengimpor ulang bucket Anda ke Firebase. Anda hanya perlu memanggil endpoint ini satu kali, bukan sekali untuk setiap bucket yang ditautkan.
-
Manual: Ikuti langkah-langkah di Membuat dan mengelola akun layanan.
Dengan mengikuti panduan tersebut, tambahkan akun layanan dengan peran IAM
Cloud Storage for Firebase Service Agent
, dan nama akun layananservice-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
Menghapus akun layanan baru
Kami sangat tidak menyarankan penghapusan akun layanan karena tindakan ini dapat memblokir akses ke bucket Cloud Storage dari aplikasi Anda. Untuk menghapus akun layanan dari project Anda, ikuti petunjuk dalam Menonaktifkan akun layanan.
Harga Cloud Storage for Firebase
Cloud Storage for Firebase: Apa perubahan pada persyaratan paket harga untuk Cloud Storage yang diumumkan pada September 2024?
Buka dokumentasi Cloud Storage untuk mempelajari lebih lanjut Perubahan terkait persyaratan paket harga untuk Cloud Storage.
Bagaimana cara memprediksi jumlah tagihan saya untuk operasi upload dan download?
Buka halaman Harga Firebase dan gunakan kalkulator paket Blaze. Kalkulator ini mencantumkan semua jenis penggunaan untuk Cloud Storage for Firebase.
Gunakan penggeser untuk memasukkan penggunaan yang diharapkan dari bucket Storage Anda. Kalkulator akan memperkirakan tagihan bulanan Anda.
Apa yang terjadi jika saya melampaui batas upload, download, atau penyimpanan paket Spark untuk Cloud Storage for Firebase?
Jika Anda melampaui batas Cloud Storage untuk suatu project dalam paket Spark, hasilnya ditentukan berdasarkan jenis batas yang Anda lampaui:
- Jika melampaui batas GB tersimpan, Anda tidak akan dapat menyimpan data lagi dalam project itu, kecuali jika beberapa data yang tersimpan dihapus atau paket diupgrade ke paket yang menyediakan ruang penyimpanan lebih besar atau ruang penyimpanan tak terbatas.
- Jika Anda melampaui batas GB terdownload, aplikasi Anda tidak dapat mendownload data lebih banyak lagi hingga hari berikutnya (mulai tengah malam, Waktu Pasifik AS), kecuali jika paket diupgrade ke paket dengan batas yang tidak begitu ketat atau paket tanpa batas.
- Jika Anda melampaui batas operasi upload atau download, aplikasi Anda tidak akan dapat mengupload atau mendownload data lagi hingga hari berikutnya (mulai tengah malam, Waktu Pasifik AS), kecuali jika paket diupgrade ke paket dengan batas yang tidak begitu ketat atau paket tanpa batas.
Crashlytics
Buka halaman pemecahan masalah & FAQ Crashlytics untuk mendapatkan tips dan jawaban yang bermanfaat untuk FAQ lainnya.
Dynamic Links
Dynamic Links: Apa saja rencana Firebase untuk Dynamic Links ke depannya?
Lihat FAQ Dynamic Links.
Dynamic Links: Mengapa aplikasi Android saya mengakses setiap Dynamic Link dua kali?
getInvitation
API akan menghapus Dynamic Link yang tersimpan
agar tidak diakses dua kali. Pastikan Anda memanggil API ini dengan menyetel parameter autoLaunchDeepLink
ke false
di setiap aktivitas deep link, untuk menghapusnya sebagai jaga-jaga jika aktivitas tersebut dipicu di luar aktivitas utama.
Hosting
Hosting: Pada project paket Spark, dapatkah saya menyimpan file yang dapat dieksekusi?
Untuk project paket gratis (Spark), Firebase memblokir upload dan menghosting jenis file tertentu yang dapat dieksekusi untuk Windows, Android, dan Apple oleh Cloud Storage for Firebase dan Firebase Hosting. Kebijakan ini dibuat untuk mencegah penyalahgunaan di platform kami.
Penyajian, hosting, dan upload file dari file yang tidak diizinkan akan diblokir untuk semua project Spark yang dibuat pada atau setelah 28 September 2023. Untuk project Spark yang ada dengan file yang diupload sebelum tanggal tersebut, file tersebut masih dapat diupload dan dihosting.
Batasan ini berlaku untuk project paket Spark. Project dengan paket bayar sesuai penggunaan (Blaze) tidak akan terpengaruh.
Jenis file berikut tidak dapat dihosting di Firebase Hosting dan Cloud Storage for Firebase:
- File Windows dengan ekstensi
.exe
,.dll
, dan.bat
- File Android dengan ekstensi
.apk
- File platform Apple dengan ekstensi
.ipa
Apa yang harus saya lakukan?
Jika Anda masih ingin menghosting jenis file ini setelah 28 September 2023:
- Untuk Hosting: upgrade ke paket Blaze sebelum dapat men-deploy
jenis file ini ke Firebase Hosting melalui perintah
firebase deploy
. - Untuk Storage: upgrade ke paket Blaze untuk mengupload jenis file ini ke bucket pilihan Anda menggunakan GCS CLI, Firebase console, atau Google Cloud console.
Gunakan alat Firebase untuk mengelola resource Firebase Hosting dan Cloud Storage.
- Untuk mengelola resource di Firebase Hosting, gunakan Firebase console untuk menghapus rilis sesuai dengan panduan ini.
- Untuk mengelola resource di Cloud Storage, buka halaman produk Storage di project Anda.
- Pada tab Files, temukan file yang tidak diizinkan untuk dihapus di hierarki folder, lalu pilih file tersebut menggunakan kotak centang di samping nama file di sisi kiri panel ini.
- Klik Delete, dan konfirmasi bahwa file telah dihapus.
Lihat dokumentasi kami untuk informasi tambahan terkait cara mengelola resource Hosting dengan alat Firebase dan bucket Cloud Storage for Firebase dengan library klien.
Hosting: Mengapa tabel histori rilis Hosting saya di Firebase console menunjukkan jumlah file yang melebihi jumlah sebenarnya yang dimiliki oleh project lokal saya?
Firebase otomatis menambahkan file tambahan yang berisi metadata tentang situs Hosting, dan file-file ini termasuk dalam jumlah file total untuk rilis tersebut.
Hosting: Berapa ukuran file terbesar yang dapat saya deploy ke Firebase Hosting?
Hosting memiliki batas ukuran maksimum 2 GB untuk setiap file.
Sebaiknya Anda menyimpan file yang lebih besar menggunakan Cloud Storage, yang menawarkan batas ukuran maksimum dalam rentang terabyte untuk tiap objek.
Hosting: Berapa banyak situs Hosting yang dapat saya miliki per project Firebase?
Fitur multi-situs Firebase Hosting mendukung maksimal 36 situs per project.
Performance Monitoring
Buka halaman pemecahan masalah & FAQ Performance Monitoring untuk mendapatkan tips dan jawaban yang bermanfaat untuk FAQ lainnya.
Performance Monitoring: Berapa banyak pola URL kustom yang dapat saya buat?
Anda dapat membuat hingga total 400 pola URL kustom per aplikasi dan hingga 100 pola URL kustom per domain untuk aplikasi tersebut.
Performance Monitoring: Mengapa saya tidak melihat tampilan data performa secara real-time?
Untuk melihat data performa real time, pastikan aplikasi Anda menggunakan versi Performance Monitoring SDK yang kompatibel dengan pemrosesan data real time.
- iOS — v7.3.0 atau yang lebih baru
- tvOS — v8.9.0 atau yang lebih baru
- Android — v19.0.10 atau yang lebih baru (atau Firebase Android BoM v26.1.0 atau yang lebih baru)
- Web — v7.14.0 atau yang lebih baru
Perhatikan bahwa kami selalu merekomendasikan penggunaan SDK versi terbaru, tetapi semua versi yang tercantum di atas akan memungkinkan Performance Monitoring memproses data Anda secara hampir real-time.
Realtime Database
Realtime Database: Apa yang dimaksud dengan "koneksi database simultan"?
Koneksi simultan setara dengan satu perangkat seluler, tab browser, atau aplikasi server yang terhubung ke database. Firebase menetapkan batas yang ketat untuk banyaknya koneksi simultan ke database aplikasi Anda. Batas ini ditetapkan untuk melindungi Firebase dan pengguna dari penyalahgunaan.
Batas paket Spark adalah 100 dan tidak bisa ditambah. Batas koneksi simultan untuk paket Flame dan Blaze adalah 200.000 per database.
Batas ini berbeda dengan total jumlah pengguna aplikasi Anda, karena pengguna Anda tidak semuanya terhubung secara bersamaan. Jika Anda membutuhkan lebih dari 200.000 koneksi simultan, baca bagian Melakukan Penskalaan dengan Beberapa Database.
Realtime Database: Apa batasan penskalaan untuk Realtime Database?
Setiap instance Realtime Database memiliki batas jumlah operasi tulis per detik. Untuk operasi tulis kecil, batasnya sekitar 1.000 operasi tulis per detik. Jika Anda mendekati batas ini, operasi batching yang menggunakan update multi-lokasi dapat membantu Anda mencapai throughput yang lebih tinggi.
Selain itu, setiap instance database memiliki batas jumlah koneksi database simultan. Batas default kami cukup besar untuk sebagian besar aplikasi. Jika Anda mem-build aplikasi yang memerlukan skala ekstra, Anda mungkin perlu membagi aplikasi ke beberapa instance database untuk mendapatkan skala tambahan. Anda juga dapat mempertimbangkan Cloud Firestore sebagai database alternatif.
Realtime Database: Apa yang dapat saya lakukan jika melampaui batas penggunaan Realtime Database?
Jika menerima pemberitahuan atau notifikasi email di Firebase console bahwa Anda telah melampaui batas penggunaan Realtime Database, hal tersebut dapat diatasi berdasarkan batas penggunaan yang telah Anda lampaui. Untuk melihat penggunaan Realtime Database, buka dasbor Usage Realtime Database di Firebase console.
Jika melampaui batas download, Anda dapat mengupgrade paket harga Firebase atau menunggu hingga batas download tereset di awal siklus penagihan berikutnya. Untuk mengurangi download Anda, coba lakukan langkah-langkah berikut:
- Tambahkan kueri untuk membatasi data yang ditampilkan oleh operasi listen.
- Periksa kueri yang tidak terindeks.
- Gunakan pemroses yang hanya mendownload update ke data, misalnya
on()
dan bukanonce()
. - Gunakan aturan keamanan untuk memblokir download yang tidak sah.
Jika Anda melampaui batas penyimpanan, upgrade paket harga untuk menghindari gangguan layanan. Untuk mengurangi jumlah data dalam database Anda, coba lakukan langkah-langkah berikut:
- Bersihkan database secara berkala.
- Kurangi data duplikat di database Anda.
Perhatikan bahwa mungkin butuh beberapa waktu hingga penghapusan data terlihat dalam alokasi penyimpanan.
Jika Anda melampaui batas koneksi database simultan, upgrade paket Anda untuk menghindari gangguan layanan. Untuk mengelola koneksi simultan ke database Anda, coba hubungkan melalui pengguna lewat REST API jika tidak diperlukan koneksi secara realtime.
Realtime Database: Apa yang terjadi jika saya melampaui batas penyimpanan atau download paket Spark untuk Realtime Database?
Untuk memberikan harga yang dapat diprediksi, resource yang tersedia untuk Anda dalam paket Spark dan Flame telah dibatasi. Artinya, jika Anda melampaui batas paket apa pun dalam satu bulan, aplikasi akan dimatikan agar pemakaian resource lebih lanjut dan biaya tambahan dapat dicegah.
Realtime Database: Apa yang terjadi jika saya melampaui batas koneksi simultan paket Spark untuk Realtime Database?
Jika aplikasi Anda mencapai batas koneksi serentak paket Spark, koneksi berikutnya akan ditolak sampai beberapa koneksi yang ada ditutup. Bagi pengguna yang telah tersambung, aplikasi akan tetap berfungsi.
Realtime Database: Apa yang dimaksud dengan pencadangan otomatis? Apakah Anda menawarkan pencadangan setiap jam untuk Realtime Database?
Pencadangan otomatis adalah fitur lanjutan untuk pelanggan paket harga Blaze. Fitur tersebut mencadangkan data Firebase Realtime Database Anda sekali sehari dan menguploadnya ke Google Cloud Storage.
Kami tidak menawarkan pencadangan setiap jam.
Realtime Database: Mengapa Realtime Database saya melaporkan bandwidth lebih rendah dari rata-rata antara bulan September 2016 dan Maret 2017?
Untuk perhitungan bandwidth, kami biasanya menyertakan overhead enkripsi SSL (berdasarkan lapisan 5 dari model OSI). Namun, pada September 2016, kami memperkenalkan bug yang menyebabkan overhead enkripsi diabaikan dalam pelaporan bandwidth kami. Hal ini mungkin mengakibatkan bandwidth dan tagihan yang dilaporkan sengaja dibuat rendah pada akun Anda selama beberapa bulan.
Kami merilis perbaikan bug pada akhir Maret 2017, sehingga pelaporan dan penagihan bandwidth kembali ke tingkat normal.
Remote Config
Remote Config: Mengapa nilai yang diambil tidak memengaruhi perilaku dan tampilan aplikasi saya?
Nilai disimpan secara lokal tetapi
tidak diaktifkan, kecuali
Anda mengambil nilai dengan fetchAndActivate()
. Untuk mengaktifkan nilai yang diambil agar memberikan pengaruh, panggil activate
. Dengan desain ini, Anda dapat mengontrol kapan
perilaku dan tampilan aplikasi akan berubah, karena Anda dapat memilih
waktu untuk memanggil activate
. Setelah Anda memanggil
activate
, kode sumber aplikasi akan menentukan kapan parameter
yang telah diperbarui akan digunakan.
Misalnya, Anda dapat mengambil nilai, lalu mengaktifkan nilai tersebut saat ada pengguna yang menjalankan aplikasi sehingga peluncuran aplikasi tidak perlu ditunda selagi aplikasi menunggu nilai yang diambil dari layanan. Selanjutnya, perubahan perilaku dan tampilan aplikasi terjadi saat aplikasi menggunakan parameter value yang telah diperbarui.
Untuk mempelajari lebih lanjut Remote Config API dan model penggunaannya, lihat Ringkasan Remote Config API.
Remote Config: Saya membuat banyak permintaan pengambilan saat mengembangkan aplikasi saya. Mengapa aplikasi saya selalu tidak mendapatkan nilai terbaru dari layanan saat mengirim permintaan pengambilan?
Selama pengembangan aplikasi, sebaiknya Anda sering mengambil dan mengaktifkan
konfigurasi (beberapa kali per jam) agar dapat melakukan iterasi yang cepat ketika mengembangkan
dan menguji aplikasi. Untuk mengakomodasi iterasi yang cepat pada project yang beranggotakan hingga 10
developer, Anda dapat menetapkan objek
FirebaseRemoteConfigSettings
dengan interval pengambilan minimum yang
rendah (setMinimumFetchIntervalInSeconds
) ke dalam aplikasi Anda untuk sementara.
Remote Config: Seberapa cepat layanan Remote Config menampilkan nilai yang diambil setelah aplikasi saya mengirimkan permintaan pengambilan?
Biasanya perangkat menerima nilai yang diambil dalam waktu kurang dari satu detik, bahkan sering dalam milidetik. Layanan Remote Config menangani permintaan pengambilan dalam hitungan milidetik, tetapi waktu yang diperlukan untuk menyelesaikan sebuah permintaan pengambilan dipengaruhi oleh kecepatan jaringan dan latensi koneksi jaringan yang digunakan perangkat.
Jika tujuan Anda adalah untuk membuat nilai yang diambil berlaku di aplikasi Anda
sesegera mungkin, sekaligus membuat pengalaman pengguna yang memuaskan,
pertimbangkan untuk menambahkan panggilan untuk fetchAndActivate
setiap kali
aplikasi Anda melakukan refresh layar penuh.
Test Lab
Buka halaman pemecahan masalah Test Lab untuk mendapatkan tips dan jawaban yang bermanfaat untuk FAQ.
Firebase User Segmentation Storage
Apa yang dimaksud dengan Firebase User Segmentation Storage?
Firebase User Segmentation Storage menyimpan ID penginstalan Firebase serta atribut dan segmen terkait, serta daftar audience yang Anda buat untuk memberikan informasi penargetan ke layanan Firebase lain yang menggunakannya, seperti personalisasi Crashlytics, FCM, Remote Config, dan lainnya.