Sử dụng Trình mô phỏng tiện ích mở rộng để đánh giá tiện ích mở rộng

Trước khi sử dụng Trình mô phỏng 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 Firebase Local Emulator Suite cũng như cài đặt và định cấu hình Local Emulator Suite 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 mô phỏng Tiện ích mở rộng?

Với trình mô phỏng 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 và 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 mô phỏng chạy cục bộ các chức năng của tiện ích mở rộng của bạn, 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 mô phỏng cho Cloud Firestore, Cơ sở dữ liệu thời gian thực, Cloud Storage 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 dự án Firebase

Bộ mô phỏng cục bộ Firebase mô phỏng các sản phẩm cho một dự án Firebase.

Để chọn dự án sẽ sử dụng, trước khi bạn khởi động trình mô phỏng, 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 mỗi lệnh trình mô phỏng.

Local Emulator Suite 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 sự 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).

Các dự án thực có tài nguyên trực tiếp, như phiên bản cơ sở dữ liệu, nhóm lưu trữ, hàm 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 mô phỏng 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, nhóm 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 các lớp học 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ố demo- .

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 mô phỏng. 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 mô phỏng mà không cần tạo dự án Firebase
  • An toàn cao 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ó cơ hội thay đổi dữ liệu, 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 mô phỏng 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 là điều đơn giản.

Giả sử bạn quan tâm đến tiện ích mở rộng Trigger Email ( firestore-send-email ), mặc dù quy trình làm việc sau đây bao gồm mọi tiện ích mở rộng. 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 Functions.

Để đánh giá tiện ích mở rộng cục bộ:

  1. 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

    Việc 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ê khai

  2. Khởi động Local Emulator Suite như bình thường.

    firebase emulators:start

Bây giờ, 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 bảng kê khai của bạn, Local Emulator Suite sẽ tải mã nguồn của tiện ích mở rộng đó xuống ~/.cache/firebase/extensions . Sau khi tải xuống các nguồn, Local Emulator Suite sẽ khởi động 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 cũng như kết nối ứng dụng của bạn với Local Emulator Suite để 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 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ộ mô phỏng 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 bằng trình mô phỏng Tiện ích mở rộng khác với thử nghiệm chính thức như thế nào

Trình mô phỏng 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 gần giống với trải nghiệm sản xuất. Tuy nhiên, có một số khác biệt so với hành vi sản xuất.

Đám mây IAM

Bộ mô phỏng 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 khi chạy. Trình mô phỏng tuân thủ Quy tắc bảo mật Firebase được cung cấp, nhưng trong các trường hợp IAM thường được sử dụng, 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ó quyền, trình mô phỏng 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 trực tiếp tập lệnh cục bộ.

Giới hạn loại kích hoạt

Hiện tại, Firebase Local Emulator Suite 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, Cloud Storage cho Firebase, Authentication 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ì?