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

Trước khi sử dụng trình mô phỏng Extensions với ứng dụng, hãy đảm bảo rằng bạn nắm rõ quy trình Firebase Local Emulator Suite tổng thể, bạn cài đặt và định cấu hình Local Emulator Suite và xem lại các lệnh CLI của giao thức này.

Hướng dẫn này cũng giả định rằng bạn đã quen thuộc với Firebase Extensions và cách sử dụng chúng trong ứng dụng Firebase của bạn.

Tôi có thể làm gì với trình mô phỏng Extensions?

Với trình mô phỏng Extensions, bạn có thể cài đặt và quản lý tiện ích trong môi trường địa phương an toàn và hiểu rõ hơn khả năng của các thiết bị đó, đồng thời giảm thiểu chi phí thanh toán. Trình mô phỏng chạy các chức năng của tiện ích trên máy, bao gồm các hàm kích hoạt sự kiện trong nền bằng cách sử dụng trình mô phỏng cho Cloud Firestore, Realtime Database, Cloud Storage for Firebase, AuthenticationPub/Sub và các hàm được kích hoạt bởi Eventarc được triển khai trong Cloud Functions phiên bản 2.

Chọn một dự án Firebase

Firebase Local Emulator Suite 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 mô phỏng, trong lần chạy CLI firebase use trong thư mục đang hoạt động. Hoặc, bạn có thể chuyển cờ --project cho từng trình mô phỏng .

Local Emulator Suite hỗ trợ mô phỏng các dự án Firebase thực và Dự án minh hoạ.

Loại dự án Tính năng Sử dụng với trình mô phỏng
Thực

Dự án Firebase thực tế là dự án do 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 tế 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, bộ nhớ nhóm, hàm hoặc bất kỳ tài nguyên nào khác mà bạn thiết lập cho Firebase đó dự án.

Khi làm việc với các dự án Firebase thực tế, bạn có thể chạy trình mô phỏng cho bất kỳ hoặc tất 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ộ nhớ) nhóm, hàm, v.v.).

Bản trình diễn

Dự án Firebase minh hoạ không có cấu hình Firebase thực và không có tài nguyên trực tiếp nào. Các 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.

Mã dự án của các dự án minh hoạ có tiền tố demo-.

Khi làm việc với các dự án Firebase minh hoạ, các ứng dụng và mã của bạn sẽ tương tác với chỉ có thể sử dụng trình mô phỏng. Nếu ứng dụng của bạn cố gắng tương tác với một tài nguyên mà trình mô phỏng không chạy thì mã đó sẽ không thành công.

Bạn nên sử dụng các dự án minh hoạ bất cứ khi nào có thể. Các 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 phải tạo Dự án Firebase
  • An toàn hơn vì nếu mã của bạn vô tình gọi ra những lệnh không được mô phỏng (chính thức), thì sẽ không có khả năng thay đổi dữ liệu, mức 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 cấu hình SDK của bạn xuống.

Cài đặt và đánh giá tiện ích

Sử dụng trình mô phỏng Extensions để đánh giá xem tiện ích có đáp ứng rất đơn giản.

Giả sử bạn quan tâm đến Email kích hoạt (firestore-send-email) tiện ích, mặc dù quy trình làm việc sau đây bao gồm mọi tiện ích. Khi chạy bằng trình mô phỏng cục bộ, Email kích hoạt sẽ tự động sử dụng Cloud Firestore và Trình mô phỏng Cloud Functions.

Cách đánh giá cục bộ một phần mở rộng:

  1. Thêm tiện ích đó vào tệp kê khai tiện ích cục bộ. Tệp kê khai tiện ích là danh sách các phiên bản tiện ích và cấu hình của các phiên bản đó.

    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 firebase/firestore-send-email và lưu cấu hình vào tệp kê khai nhưng sẽ không triển khai cấu hình cho dự án của bạn. Cho thông tin thêm về vấn đề này, hãy xem phần Quản lý cấu hình tiện ích bằng tệp kê khai

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

    firebase emulators:start

Hiện tại, việc sử dụng bản sao 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 xuống mã nguồn của tiện ích đó cho ~/.cache/firebase/extensions. Sau khi trải qua đã tải xuống, Local Emulator Suite sẽ bắt đầu và bạn sẽ có thể kích hoạt bất kỳ hàm nào được kích hoạt trong nền của tiện ích và kết nối cho Local Emulator Suite để kiểm tra quá trình tích hợp của họ 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 tập hợp tài liệu qua 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 Email kích hoạt.

Ngoài ra, đối với các môi trường thử nghiệm không mang tính tương tác như quy trình làm việc tích hợp, bạn có thể viết tập lệnh kiểm thử để đánh giá tiện ích để cùng với các bước khác điền sẵn dữ liệu Cloud Firestore cần thiết và kích hoạt các hàm. Sau đó, bạn sẽ gọi Local Emulator Suite để thực thi tập lệnh kiểm thử:

firebase emulators:exec my-test.sh

Sự khác biệt giữa việc kiểm thử bằng trình mô phỏng Extensions và phát hành công khai

Trình mô phỏng Extensions cho phép bạn kiểm thử các tiện ích theo cách chặt chẽ phù hợp với trải nghiệm phát hành công khai. Tuy nhiên, có một số khác biệt so với hành vi sản xuất.

Cloud IAM

Bộ mô phỏng Firebase không cố gắng sao chép hoặc tuân theo bất kỳ Hành vi liên quan đến IAM khi chạy. Trình mô phỏng tuân thủ chính sách bảo mật của Firebase Có quy tắc, nhưng trong các trường hợp thường dùng IAM, ví dụ: thiết lập Cloud Functions tài khoản dịch vụ gọi và theo đó là cá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 vào máy 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ợ yêu cầu HTTP được kích hoạt hàm, trình kích hoạt sự kiện tùy chỉnh Eventarc cho tiện ích và nền các hàm kích hoạt sự kiện cho Cloud Firestore, Realtime Database, Cloud Storage for Firebase, AuthenticationPub/Sub. Cách đánh giá tiện ích có sử dụng các loại hàm được kích hoạt khác, bạn cần cài đặt tiện ích trong một dự án Firebase thử nghiệm.

Tiếp theo là gì?