Lingkungan yang didukung
Firebase JavaScript SDK secara resmi didukung di lingkungan berikut.
Browser
produk Firebase | Tepian | Firefox | Chrome | Safari iOS | Safari |
---|---|---|---|---|---|
Analitik | |||||
Autentikasi | |||||
Cloud Firestore | (kecuali kegigihan) | (kecuali kegigihan jika iOS < 10) | |||
Fungsi Cloud | |||||
Instalasi Firebase | |||||
Perpesanan Awan | (Edge 17+, kecuali seluler) | ||||
Penyimpanan awan | |||||
Pemantauan Kinerja | |||||
Basis Data Waktu Nyata | |||||
Konfigurasi Jarak Jauh |
Lingkungan lain
produk Firebase | Bereaksi Asli | Node.js | Chrome Ekstensi | Cordova |
---|---|---|---|---|
Analitik | ||||
Autentikasi | (lihat Catatan ) | (lihat Catatan ) | (lihat Catatan ) | (lihat Catatan ) |
Cloud Firestore | (kecuali kegigihan) | (kecuali kegigihan) | ||
Fungsi Cloud | ||||
Instalasi Firebase | ||||
Perpesanan Awan | ||||
Penyimpanan awan | (kecuali upload) | |||
Pemantauan Kinerja | ||||
Basis Data Waktu Nyata | ||||
Konfigurasi Jarak Jauh |
Polyfill
Firebase JavaScript SDK dibuat berdasarkan standar platform web terbaru. Beberapa browser lama dan lingkungan JavaScript tidak mendukung semua fitur yang diperlukan oleh Firebase. Jika Anda harus mendukung browser/lingkungan ini, maka Anda perlu memuat polyfill yang sesuai.
Bagian di bawah ini mengidentifikasi sebagian besar polyfill yang mungkin Anda perlukan.
Polyfill yang dibutuhkan
Lingkungan | Polyfill |
---|---|
Safari 7 & 8 & 9 | ES Stabil |
Simpul < 6.5 | ES Stabil |
Polyfill opsional
Lingkungan | Polyfill | Produk Firebase |
---|---|---|
| mengambil |
|
| dasar-64 |
|
Polyfill yang disarankan
Polyfill | Lisensi |
---|---|
ES Stabil | MIT |
mengambil | MIT |
dasar-64 | MIT |
Pengaturan Polyfill yang Diperlukan untuk React Native dan Expo
Untuk React Native dan Expo jika Anda mengunggah string yang disandikan base-64, Anda perlu melakukan hal berikut:
Instal base-64 dari npm:
npm install base-64
Impor decode
dari base-64
dan lampirkan ke lingkup global sebagai atob
sehingga Cloud Storage dapat mengaksesnya.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Tambahkan polyfill di aplikasi Anda
Opsi 1 : (Disarankan) Gunakan bundler yang terintegrasi dengan Babel
Jika Anda menggunakan bundler, integrasikan dengan Babel dan @babel/preset-env untuk mendapatkan polyfill.
Gunakan panduan penyiapan interaktif Babel untuk mempelajari cara mengintegrasikan Babel dengan bundler Anda.
Dengan Babel, Anda tidak perlu khawatir tentang polyfill yang tepat untuk disertakan. Sebagai gantinya, Anda menentukan lingkungan browser minimal yang perlu Anda dukung. Babel kemudian menambahkan polyfill yang diperlukan untuk Anda. Babel memastikan bahwa persyaratan Anda untuk dukungan browser selalu terpenuhi, bahkan jika Firebase atau kode Anda sendiri mulai menggunakan fitur ES baru.
@babel/preset-env memiliki informasi terperinci tentang opsi konfigurasi yang tersedia untuk menentukan target lingkungan ( targets
opsi) dan menambahkan polyfill (opsi useBuiltIns
).
Opsi 2 : (Tidak Direkomendasikan) Tambahkan polyfill secara manual
Anda dapat menambahkan polyfill secara manual menggunakan pustaka polyfill favorit Anda (misalnya, core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
juga menyediakan file polyfill all-in-one yang dapat Anda sertakan langsung di halaman HTML.
Opsi ini bisa menjadi cara yang nyaman untuk mengelola polyfill jika Anda tidak menggunakan Babel. Namun, kami tidak merekomendasikan opsi all-in-one ini untuk aplikasi produksi karena kemungkinan akan menyertakan polyfill yang tidak perlu, yang meningkatkan bobot halaman dan karenanya waktu buka halaman.