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 tiện ích với ứng dụng, hãy đảm bảo rằng bạn nắm rõ quy trình công việc tổng thể của Bộ mô phỏng cục bộ Firebase, đồng thời cài đặt và định cấu hình Bộ mô phỏng cục bộ cũng như xem xét các lệnh CLI của bộ công cụ này.

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

Tôi có thể làm gì với trình mô phỏng Tiện ích?

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

Chọn một dự án Firebase

Bộ công cụ 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ẽ sử dụng, trước khi bạn khởi động trình mô phỏng, trong CLI, hãy chạy firebase use trong thư mục đang hoạt động của bạn. Bạn cũng có thể chuyển cờ --project vào từng lệnh của trình mô phỏng.

Bộ công cụ mô phỏng cục bộ hỗ trợ việc mô phỏng các dự án Firebase thực và các 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 (nhiều khả năng là thông qua bảng điều khiển của 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ộ chứa bộ nhớ, 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 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 (thực thể cơ sở dữ liệu, bộ chứa lưu trữ, 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. Những dự án này thường được truy cập thông qua 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ạ, ứ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 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 tạo dự án Firebase
  • Mức độ 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 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 xuống.

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

Sử dụng trình mô phỏng Tiện ích để đánh giá xem một tiện ích có đáp ứng nhu cầu của bạn hay không.

Giả sử bạn quan tâm đến tiện ích Email kích hoạt (firestore-send-email), mặc dù quy trình làm việc sau đây đề cập đến mọi tiện ích. Khi chạy với trình mô phỏng cục bộ, Trigger Email sẽ tự động sử dụng trình mô phỏng Cloud Firestore và 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 thực thể tiện ích và cấu hình của các thực thể đó.

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

  2. Khởi động Bộ mô phỏng cục bộ như bình thường.

    firebase emulators:start

Hiện tại, khi sử dụng phiên bản tiện ích firestore-send-email được liệt kê trong tệp kê khai, Bộ công cụ mô phỏng cục bộ sẽ tải mã nguồn của tiện ích đó xuống ~/.cache/firebase/extensions. Sau khi tải xuống, Bộ mô phỏng cục bộ sẽ khởi động và bạn sẽ có thể kích hoạt bất kỳ hàm được kích hoạt nào trong nền của tiện ích, đồng thời kết nối ứng dụng của bạn với Bộ mô phỏng cục bộ để kiểm thử quá trình tích hợp với ứng dụng của bạn.

Bạn có thể sử dụng giao diện người dùng của Bộ mô phỏng để 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 kiểm thử không mang tính tương tác như quy trình tích hợp liên tục, bạn có thể viết một tập lệnh kiểm thử để đánh giá tiện ích, trong đó có các bước sẽ điền dữ liệu cần thiết trên Cloud Firestore và kích hoạt các hàm. Sau đó, bạn sẽ gọi Bộ mô phỏng cục bộ để thực thi tập lệnh kiểm thử của mình:

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 Tiện ích và việc kiểm thử bản phát hành công khai

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

Cloud IAM

Bộ mô phỏng Firebase không tìm cách sao chép hoặc tuân theo bất kỳ hành vi nào liên quan đến IAM để chạy. Trình mô phỏng tuân thủ các Quy tắc bảo mật Firebase được cung cấp, nhưng trong những trường hợp mà IAM thường được sử dụng, chẳng hạn như để thiết lập tài khoản dịch vụ gọi Cloud Functions và theo đó, bạn 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, Bộ mô phỏng cục bộ Firebase chỉ hỗ trợ các hàm được kích hoạt theo yêu cầu HTTP, các trình kích hoạt sự kiện tuỳ chỉnh Eventarc cho các tiện ích và các hàm được kích hoạt theo sự kiện trong nền cho Cloud Firestore, Cơ sở dữ liệu theo thời gian thực, Cloud Storage cho Firebase, Xác thực và Pub/Sub. Để đánh giá các tiện ích 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ì?