Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

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

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

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 quy trình làm việc tổng thể của Bộ mô phỏng cục bộ của Firebase cũng như cài đặt và đị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 các ứng dụng Firebase của bạn .

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 và hiểu rõ hơn về khả năng của chúng trong khi giảm thiểu chi phí thanh toán. Trình giả lập 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 được kích hoạt bởi 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, Lưu trữ đám mây, Xác thực và Pub / Sub và các chức năng do Eventarc kích hoạt được triển khai trong Cloud Functions v2.

Chọn một 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 duy nhất.

Để chọn dự án để 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 mỗi lệnh giả lập.

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
Có thậ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).

Các dự án thực có các tài nguyên trực tiếp, chẳng hạn như các phiên bản cơ sở dữ liệu, nhóm 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, 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. Các dự án này thường được truy cập thông qua codelabs 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, các ứ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 không được mô phỏng (sản xuất), 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 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.

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

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

  1. Thêm tiện ích mở rộng vào tệp 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 có tệp kê khai

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

    firebase emulators:start

Giờ đây, bằng cách sử dụng phiên bản tiện ích firestore-send-email được liệt kê trong tệp 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 xong, Local Emulator Suite sẽ bắt đầu và bạn sẽ có thể kích hoạt bất kỳ chức năng nào được kích hoạt trong nền của tiện ích 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 Emulator Suite UI để 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 phần 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à các chức năng kích hoạt. 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 kiểm tra các tiện ích mở rộng theo cách phù hợp chặt chẽ 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.

Đá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 để 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 tình huống mà IAM thường được sử dụng, chẳng hạn như để đặt Chức năng đám mây gọi tài khoản dịch vụ và do đó, không thể định cấu hình trình mô phỏng 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 một 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 các 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, 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 một dự án Firebase thử nghiệm.

Tiếp theo là gì?