สภาพแวดล้อมที่รองรับ
มีการรองรับ SDK JavaScript Firebase อย่างเป็นทางการในสภาพแวดล้อมต่อไปนี้
เบราว์เซอร์
ผลิตภัณฑ์ Firebase | Edge | Firefox | Chrome | Safari บน iOS | Safari |
---|---|---|---|---|---|
App Check | |||||
Analytics | |||||
Authentication | |||||
Cloud Firestore | (ยกเว้น ความต่อเนื่อง) |
(ยกเว้น ความต่อเนื่อง หาก iOS < 10) |
|||
Cloud Functions | |||||
การติดตั้ง Firebase ครั้ง | |||||
Cloud Messaging | (Edge 17+ ยกเว้นอุปกรณ์เคลื่อนที่) |
||||
Cloud Storage | |||||
Performance Monitoring | |||||
Realtime Database | |||||
Remote Config | |||||
Vertex AI in Firebase |
สภาพแวดล้อมอื่นๆ
ผลิตภัณฑ์ Firebase | รีแอ็กชันเนทีฟ | Node.js | ส่วนขยาย Chrome |
คอร์โดวา |
---|---|---|---|---|
App Check | (การใช้ผู้ให้บริการที่กำหนดเองเพื่อรับรองอุปกรณ์ที่มาพร้อมเครื่อง) |
(ใช้ผู้ให้บริการที่กำหนดเอง) |
||
Analytics | ||||
Authentication | (ดูหมายเหตุ) |
(ดูหมายเหตุ) |
(ดูหมายเหตุ) |
(ดูหมายเหตุ) |
Cloud Firestore | (ยกเว้น ความต่อเนื่อง) |
(ยกเว้น ความต่อเนื่อง) |
||
Cloud Functions | ||||
การติดตั้ง Firebase ครั้ง | ||||
Cloud Messaging | ||||
Cloud Storage | (ยกเว้น การอัปโหลด) |
|||
Performance Monitoring | ||||
Realtime Database | ||||
Remote Config | ||||
Vertex AI in Firebase |
โพลีฟิล
SDK JavaScript Firebase สร้างขึ้นตามมาตรฐานล่าสุดของแพลตฟอร์มเว็บ ใช้บ้าง เบราว์เซอร์รุ่นเก่าและสภาพแวดล้อม JavaScript ไม่สนับสนุนฟีเจอร์ทั้งหมด ที่จำเป็นสำหรับ Firebase หากคุณต้องรองรับเบราว์เซอร์/สภาพแวดล้อมเหล่านี้ ต้องโหลดโพลีฟิลล์ให้สอดคล้องกัน
ส่วนด้านล่างระบุโพลีฟิลส่วนใหญ่ที่คุณอาจต้องใช้
โพลีฟิลล์ที่จำเป็น
สภาพแวดล้อม | โพลีฟิลล์ |
---|---|
Safari 7 และ 8 & 9 วินาที | เสถียรสเปน |
โหนด < 6.5 | เสถียรสเปน |
โพลีฟิลล์ที่ไม่บังคับ
สภาพแวดล้อม | โพลีฟิลล์ | ผลิตภัณฑ์ Firebase |
---|---|---|
|
ดึงข้อมูล |
|
|
ฐาน 64 |
|
โพลีฟิลล์ที่แนะนำ
โพลีฟิลล์ | ใบอนุญาต |
---|---|
สเปน เสถียร | MIT |
ดึงข้อมูล | MIT |
ฐาน 64 | MIT |
การตั้งค่า Polyfill ที่จำเป็นสำหรับ React Native และ Expo
สําหรับ React Native และ Expo หากอัปโหลดสตริงที่เข้ารหัสแบบ Base64 คุณจะต้องทําดังนี้
ติดตั้ง base-64 จาก npm ด้วยคำสั่งต่อไปนี้
npm install base-64
นำเข้า decode
จาก base-64
และแนบกับขอบเขตทั้งหมดเป็น atob
เพื่อให้
Cloud Storage สามารถเข้าถึงได้
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
เพิ่ม Polyfill ในแอปพลิเคชัน
ตัวเลือกที่ 1: (แนะนำ) ใช้ Bundler ที่ผสานรวมกับ Babel
หากคุณใช้ Bundler ให้ผสานรวมกับ Babel และ @babel/preset-env เพื่อรับ Polyfills
ใช้คู่มือการตั้งค่าแบบอินเทอร์แอกทีฟของ Babel เพื่อเรียนรู้ วิธีนำ Babel ไปใส่ใน Bundler
เมื่อใช้ Babel คุณไม่ต้องกังวลเรื่องโพลีฟิลที่ต้องรวมไว้ แต่คุณจะระบุสภาพแวดล้อมของเบราว์เซอร์ขั้นต่ำที่คุณต้องการรองรับแทน จากนั้น Babel จะเพิ่มโพลีฟิลที่จำเป็นสำหรับคุณ Babel มั่นใจว่า จะมีการปฏิบัติตามข้อกำหนดเรื่องการสนับสนุนเบราว์เซอร์เสมอ แม้แต่ในกรณีที่ Firebase หรือ โค้ดเริ่มใช้ฟีเจอร์ใหม่ๆ ของ ES
@babel/preset-env ระบุรายละเอียด
ข้อมูลเกี่ยวกับตัวเลือกการกำหนดค่าที่พร้อมใช้งานสำหรับการระบุสภาพแวดล้อม
เป้าหมาย (ตัวเลือก targets
) และเพิ่ม Polyfill (ตัวเลือก useBuiltIns
)
ตัวเลือกที่ 2: (ไม่แนะนำ) เพิ่ม Polyfill ด้วยตนเอง
คุณสามารถเพิ่ม polyfill ด้วยตนเองโดยใช้ไลบรารี Polyfill ที่คุณชอบ (สำหรับ
เช่น core-js
)
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
ยังมี
ไฟล์ Polyfill แบบออลอินวัน
ที่คุณสามารถรวมไว้ในหน้า HTML ได้โดยตรง
ตัวเลือกนี้อาจเป็นวิธีที่สะดวกในการจัดการ Polyfill หากไม่ได้ใช้ Babel อย่างไรก็ตาม เราไม่แนะนำให้มีตัวเลือกแบบครบวงจรนี้สำหรับเวอร์ชันที่ใช้งานจริง แอปเนื่องจากมักจะมีโพลีฟิลล์ที่ไม่จำเป็น ซึ่งจะเพิ่มหน้า และด้วยเหตุนี้ เวลาที่ใช้ในการโหลดหน้าเว็บ