Trước khi sử dụng trình giả lập Tiện ích mở rộng với ứng dụng của bạn, hãy đảm bảo rằng bạn hiểu toàn bộ quy trình làm việc của Bộ giả lập cục bộ Firebase và bạn cài đặt cũng như định cấu hình Bộ giả lập cục bộ cũng như xem lại các lệnh CLI của nó.
Hướng dẫn này cũng giả định rằng bạn đã quen thuộc với Tiện ích mở rộng Firebase và cách sử dụng chúng trong ứng dụng Firebase của mình .
Tôi có thể làm gì với trình giả lập Tiện ích mở rộng?
Với trình giả lập Tiện ích mở rộng, bạn có thể cài đặt và quản lý tiện ích mở rộng trong môi trường cục bộ an toàn, đồng thời hiểu rõ hơn về khả năng của chúng đồng thời giảm thiểu chi phí thanh toán. Trình giả lập chạy các chức năng của tiện ích mở rộng của bạn cục bộ, bao gồm các chức năng kích hoạt sự kiện nền bằng cách sử dụng trình giả lập cho Cloud Firestore, Cơ sở dữ liệu thời gian thực, Lưu trữ đám mây cho Firebase, Xác thực và Pub/Sub cũng như các chức năng kích hoạt Eventarc được triển khai trong Cloud Functions v2.
Chọn một dự án Firebase
Bộ giả lập cục bộ Firebase mô phỏng các sản phẩm cho một dự án Firebase duy nhất.
Để chọn dự án sẽ sử dụng, trước khi bạn khởi động trình giả lập, trong CLI hãy chạy firebase use
trong thư mục làm việc của bạn. Hoặc, bạn có thể chuyển cờ --project
cho từng lệnh giả lập.
Bộ giả lập cục bộ hỗ trợ mô phỏng các dự án Firebase thực và các dự án demo .
Loại dự án | Đặc trưng | Sử dụng với trình giả lập |
---|---|---|
Thực tế | Dự án Firebase thực là dự án bạn đã tạo và định cấu hình (rất có thể thông qua bảng điều khiển Firebase). Dự án thực có tài nguyên trực tiếp, chẳng hạn như phiên bản cơ sở dữ liệu, bộ chứa lưu trữ, chức năng hoặc bất kỳ tài nguyên nào khác mà bạn thiết lập cho dự án Firebase đó. | Khi làm việc với các dự án Firebase thực, bạn có thể chạy trình giả lập cho bất kỳ hoặc tất cả các sản phẩm được hỗ trợ. Đối với bất kỳ sản phẩm nào bạn không mô phỏng, ứng dụng và mã của bạn sẽ tương tác với tài nguyên trực tiếp (phiên bản cơ sở dữ liệu, bộ chứa lưu trữ, chức năng, v.v.). |
Thử nghiệm | Dự án Firebase demo không có cấu hình Firebase thực và không có tài nguyên trực tiếp. Những dự án này thường được truy cập thông qua phòng thí nghiệm lập trình hoặc các hướng dẫn khác. ID dự án cho các dự án demo có tiền tố | Khi làm việc với các dự án Firebase demo, ứng dụng và mã của bạn chỉ tương tác với trình giả lập . Nếu ứng dụng của bạn cố gắng tương tác với tài nguyên mà trình mô phỏng không chạy, thì mã đó sẽ không thành công. |
Chúng tôi khuyên bạn nên sử dụng các dự án demo bất cứ khi nào có thể. Lợi ích bao gồm:
- Thiết lập dễ dàng hơn vì bạn có thể chạy trình giả lập mà không cần tạo dự án Firebase
- An toàn hơn, vì nếu mã của bạn vô tình gọi các tài nguyên (sản xuất) không được mô phỏng, thì sẽ không có khả năng thay đổi dữ liệu, cách sử dụng và thanh toán
- Hỗ trợ ngoại tuyến tốt hơn vì không cần truy cập internet để tải xuống cấu hình SDK của bạn.
Cài đặt và đánh giá tiện ích mở rộng
Việc sử dụng trình giả lập Tiện ích mở rộng để đánh giá xem tiện ích mở rộng có đáp ứng nhu cầu của bạn hay không rất đơn giản.
Giả sử bạn quan tâm đến tiện ích mở rộng Email Kích hoạt ( firestore-send-email
), mặc dù quy trình làm việc sau bao gồm bất kỳ tiện ích mở rộng nào. Khi chạy với trình giả lập cục bộ, Email kích hoạt sẽ tự động sử dụng trình giả lập Cloud Firestore và Cloud Function.
Để đánh giá một tiện ích mở rộng cục bộ:
Thêm tiện ích mở rộng vào bảng kê khai tiện ích mở rộng cục bộ. Tệp kê khai tiện ích mở rộng là danh sách các phiên bản tiện ích mở rộng và cấu hình của chúng.
firebase ext:install --local firebase/firestore-send-email
Chạy lệnh trên sẽ nhắc bạn định cấu hình phiên bản mới nhất của tiện ích mở rộng
firebase/firestore-send-email
và lưu cấu hình vào tệp kê khai, nhưng nó sẽ không triển khai cấu hình cho dự án của bạn. Để biết thêm về điều này, hãy xem Quản lý cấu hình tiện ích mở rộng bằng bảng kê khaiKhởi động Bộ giả lập cục bộ như bình thường.
firebase emulators:start
Giờ đây, bằng cách sử dụng phiên bản tiện ích mở rộng firestore-send-email
được liệt kê trong tệp kê khai của bạn, Bộ giả lập cục bộ sẽ tải mã nguồn của tiện ích mở rộng đó xuống ~/.cache/firebase/extensions
. Khi các nguồn đã được tải xuống, Bộ giả lập cục bộ sẽ bắt đầu và bạn sẽ có thể kích hoạt bất kỳ chức năng kích hoạt nền nào của tiện ích mở rộng và kết nối ứng dụng của bạn với Bộ giả lập cục bộ để kiểm tra khả năng tích hợp của chúng với ứng dụng của bạn.
Bạn có thể sử dụng Giao diện người dùng Emulator Suite để thêm dữ liệu vào bộ sưu tập tài liệu email và thiết lập các tài nguyên phụ trợ khác, theo yêu cầu của tiện ích mở rộng Email kích hoạt.
Ngoài ra, đối với các môi trường thử nghiệm không tương tác như quy trình công việc tích hợp liên tục, bạn có thể viết tập lệnh thử nghiệm để đánh giá tiện ích mở rộng, trong số các bước khác, điền dữ liệu Cloud Firestore cần thiết và kích hoạt các chức năng. Sau đó, bạn sẽ gọi Bộ giả lập cục bộ để thực thi tập lệnh thử nghiệm của mình:
firebase emulators:exec my-test.sh
Thử nghiệm với trình giả lập Tiện ích mở rộng khác với sản xuất như thế nào
Trình giả lập Tiện ích mở rộng cho phép bạn thử nghiệm các tiện ích mở rộng theo cách phù hợp nhất với trải nghiệm sản xuất. Tuy nhiên, có một số khác biệt từ hành vi sản xuất.
IAM đám mây
Bộ giả lập Firebase không cố gắng sao chép hoặc tôn trọng bất kỳ hành vi nào liên quan đến IAM để chạy. Trình giả lập tuân thủ Quy tắc bảo mật Firebase được cung cấp, nhưng trong các trường hợp thường sử dụng IAM, chẳng hạn như để đặt tài khoản dịch vụ gọi Chức năng đám mây và do đó, các quyền, trình giả lập không thể định cấu hình và sẽ sử dụng tài khoản có sẵn trên toàn cầu trên máy nhà phát triển của bạn, tương tự như chạy tập lệnh cục bộ trực tiếp.
Giới hạn loại kích hoạt
Hiện tại, Bộ giả lập cục bộ Firebase chỉ hỗ trợ các chức năng kích hoạt yêu cầu HTTP, trình kích hoạt sự kiện tùy chỉnh Eventarc cho tiện ích mở rộng và các chức năng kích hoạt sự kiện nền cho Cloud Firestore, Cơ sở dữ liệu thời gian thực, Lưu trữ đám mây cho Firebase, Xác thực và Pub/Sub. Để đánh giá các tiện ích mở rộng sử dụng các loại chức năng được kích hoạt khác, bạn cần cài đặt tiện ích mở rộng của mình trong dự án Firebase thử nghiệm.
Tiếp theo là gì?
- Để có bộ video được tuyển chọn và các ví dụ chi tiết về cách thực hiện, hãy làm theo Danh sách phát đào tạo về trình giả lập Firebase .