Môi trường được hỗ trợ
Firebase JavaScript SDK được hỗ trợ chính thức trong các môi trường sau đây.
Trình duyệt
Sản phẩm Firebase | Edge | Firefox | Chrome | Safari trên iOS | Safari |
---|---|---|---|---|---|
Kiểm tra ứng dụng | |||||
Số liệu phân tích | |||||
Xác thực | |||||
Cloud Firestore | (ngoại trừ khả năng lưu trữ cố định) |
(ngoại trừ tính bền vững nếu iOS < 10) |
|||
Chức năng đám mây | |||||
Cài đặt Firebase | |||||
Gửi thông báo qua đám mây | (Edge 17 trở lên, ngoại trừ thiết bị di động) |
||||
Bộ nhớ trên đám mây | |||||
Giám sát hiệu suất | |||||
Cơ sở dữ liệu theo thời gian thực | |||||
Cấu hình từ xa | |||||
Vertex AI cho Firebase |
Các môi trường khác
Sản phẩm Firebase | Phản ứng gốc | Node.js | Tiện ích Chrome |
Nghiêng |
---|---|---|---|---|
Kiểm tra ứng dụng | (sử dụng nhà cung cấp tuỳ chỉnh để chứng thực thiết bị gốc) |
(sử dụng nhà cung cấp tuỳ chỉnh) |
||
Số liệu phân tích | ||||
Xác thực | (xem Lưu ý) |
(xem Lưu ý) |
(xem Lưu ý) |
(xem Lưu ý) |
Cloud Firestore | (ngoại trừ khả năng lưu trữ cố định) |
(ngoại trừ khả năng lưu trữ cố định) |
||
Chức năng đám mây | ||||
Cài đặt Firebase | ||||
Gửi thông báo qua đám mây | ||||
Bộ nhớ trên đám mây | (ngoại trừ video tải lên) |
|||
Giám sát hiệu suất | ||||
Cơ sở dữ liệu theo thời gian thực | ||||
Cấu hình từ xa | ||||
Vertex AI cho Firebase |
Vải polyfill
Firebase JavaScript SDK được xây dựng dựa trên các tiêu chuẩn mới nhất của nền tảng web. Một số trình duyệt và môi trường JavaScript cũ không hỗ trợ tất cả các tính năng mà Firebase yêu cầu. Nếu phải hỗ trợ các trình duyệt/môi trường này, thì bạn cần tải các polyfill cho phù hợp.
Các phần dưới đây sẽ xác định hầu hết các loại polyfills mà bạn có thể cần đến.
Lớp phủ polyfill bắt buộc
Môi trường | Bút nhựa |
---|---|
Safari 7, 8 và 9 | Phiên bản chính thức Tây Ban Nha |
Nút < 6,5 | Phiên bản chính thức Tây Ban Nha |
Vải polyfills không bắt buộc
Môi trường | Bút nhựa | Các sản phẩm của Firebase |
---|---|---|
|
tìm nạp |
|
|
cơ-64 |
|
Lớp phủ polyfill được đề xuất
Bút nhựa | Giấy phép |
---|---|
Phiên bản ổn định cho Tây Ban Nha | MIT |
tìm nạp | MIT |
cơ-64 | MIT |
Thiết lập Polyfill bắt buộc cho React Native và Expo
Đối với React Native và Expo nếu đang tải lên một chuỗi được mã hoá base-64, bạn cần thực hiện như sau:
Cài đặt base-64 từ npm:
npm install base-64
Nhập decode
từ base-64
và đính kèm vào toàn phạm vi dưới dạng atob
để Cloud Storage có thể truy cập.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Thêm polyfill vào ứng dụng
Cách 1: (Nên dùng) Sử dụng trình đóng gói được tích hợp với CameraX
Nếu bạn đang sử dụng trình đóng gói, hãy tích hợp với Babel và @babel/preset-env để nhận polyfill.
Sử dụng hướng dẫn thiết lập có tính tương tác của CameraX để tìm hiểu cách tích hợp CameraX với trình đóng gói của bạn.
Với CameraX, bạn không cần lo lắng về việc cần thêm chính xác polyfill. Thay vào đó, bạn sẽ chỉ định các môi trường trình duyệt tối thiểu mà bạn cần hỗ trợ. Sau đó, nỗ lực của bạn sẽ được thêm các polyfills cần thiết cho bạn. Bumblebee đảm bảo rằng bạn luôn đáp ứng các yêu cầu hỗ trợ trình duyệt, ngay cả khi Firebase hoặc mã của riêng bạn bắt đầu sử dụng các tính năng ES mới.
@babel/preset-env cung cấp thông tin chi tiết về các tuỳ chọn cấu hình có sẵn để chỉ định mục tiêu môi trường (tuỳ chọn targets
) và thêm polyfill (tuỳ chọn useBuiltIns
).
Cách 2: (Không nên dùng) Thêm đoạn mã polyfill theo cách thủ công
Bạn có thể thêm polyfill theo cách thủ công bằng cách sử dụng các thư viện polyfill bạn yêu thích (ví dụ: core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
cũng cung cấp tệp polyfill tất cả trong một mà bạn có thể trực tiếp đưa vào trang HTML.
Tuỳ chọn này có thể là một cách thuận tiện để quản lý polyfills nếu bạn không sử dụng Babel. Tuy nhiên, bạn không nên sử dụng tính năng tất cả trong một này cho các ứng dụng chính thức vì lựa chọn này có thể sẽ chứa các đoạn mã polyfill không cần thiết, làm tăng trọng lượng trang và dẫn đến thời gian tải trang.