Tổng quan về nhà xuất bản tiện ích mở rộng

Tiện ích mở rộng Firebase thực hiện một nhiệm vụ hoặc tập hợp nhiệm vụ cụ thể để đáp ứng các yêu cầu HTTP hoặc kích hoạt các sự kiện từ các sản phẩm Firebase và Google khác, như Firebase Cloud Messaging, Cloud Firestore hoặc Pub/Sub.

Bạn có thể xây dựng tiện ích mở rộng của riêng mình để sử dụng cá nhân hoặc chia sẻ với mọi người trong Trung tâm tiện ích mở rộng Firebase. Ví dụ: tiện ích mở rộng của bạn có thể thực hiện một tác vụ cụ thể mà ứng dụng của bạn thường xuyên cần hoặc có thể giúp truy cập vào một trong các API của công ty bạn dễ dàng hơn. Sau khi tạo tiện ích mở rộng, bạn có thể chia sẻ tiện ích mở rộng đó với người khác. Những người dùng đó có thể cài đặt và định cấu hình tiện ích mở rộng để sử dụng trong các dự án Firebase của riêng họ.

Cấu trúc của phần mở rộng

Bạn có thể coi tiện ích mở rộng có ba thành phần chính:

  • Mã chức năng đám mây, bằng JavaScript hoặc TypeScript
  • Siêu dữ liệu mô tả tiện ích mở rộng của bạn
  • Tài liệu giúp người dùng định cấu hình và sử dụng tiện ích mở rộng của bạn

Để phát triển tiện ích mở rộng, bạn tập hợp các thành phần này thành cấu trúc sau:

example-extension
├── functions
│   ├── integration-tests
│   │   ├── extensions
│   │   │   └── example-extension.env
│   │   ├── firebase.json
│   │   └── integration-test.spec.js
│   ├── index.js
│   └── package.json
├── README.md
├── PREINSTALL.md
├── POSTINSTALL.md
├── CHANGELOG.md
├── icon.png
└── extension.yaml
  • Thư mục functions chứa mã Hàm đám mây của bạn bằng JavaScript hoặc TypeScript. Đây là mã thực hiện các tác vụ của tiện ích mở rộng để phản hồi các sự kiện được kích hoạt bởi các dịch vụ của Firebase và Google.
  • Tệp tiện extension.yaml chứa siêu dữ liệu về tiện ích mở rộng của bạn, chẳng hạn như trình kích hoạt và vai trò truy cập IAM của tiện ích đó, cũng như bất kỳ thông số nào bạn muốn người dùng có thể định cấu hình.
  • Các tệp PREINSTALL , POSTINSTALLCHANGELOG là tài liệu tối thiểu mà tiện ích mở rộng của bạn phải có. Những tệp này giúp người dùng của bạn tìm hiểu chức năng của tiện ích mở rộng, cách sử dụng tiện ích mở rộng và những nội dung cập nhật bạn đã thực hiện. Bạn cũng nên cung cấp biểu tượng để giúp người dùng nhận ra tiện ích mở rộng của bạn. Bảng điều khiển Firebase, Firebase CLI và Trung tâm tiện ích mở rộng hiển thị nội dung của các tệp này khi người dùng khám phá, cài đặt và quản lý tiện ích mở rộng của bạn.

Sau khi tạo tiện ích mở rộng, bạn có thể sử dụng Firebase CLI để cài đặt tiện ích mở rộng đó vào dự án hoặc xuất bản tiện ích mở rộng đó lên Trung tâm tiện ích mở rộng, nơi bất kỳ ai cũng có thể khám phá và cài đặt tiện ích mở rộng đó vào dự án của họ.

Tiện ích mở rộng của tôi có thể tương tác với những sản phẩm nào?

Vì tiện ích mở rộng Firebase hoạt động bằng Chức năng đám mây nên bạn có thể nghĩ đến câu hỏi về khả năng tích hợp theo hai cách: Sản phẩm nào có thể kích hoạt các chức năng của tiện ích mở rộng của tôi?Sau khi được kích hoạt, các chức năng của tiện ích mở rộng của tôi có thể tương tác với những sản phẩm nào?

Trình kích hoạt chức năng được hỗ trợ

Trình kích hoạt thủ công

Trước hết, bạn có thể kích hoạt một chức năng theo cách thủ công. Tiện ích mở rộng Firebase và Chức năng đám mây hỗ trợ hai cách kích hoạt chức năng theo cách thủ công:

  • Trình kích hoạt HTTP: triển khai một hàm tới điểm cuối HTTP
  • Các hàm có thể gọi: gọi Hàm đám mây trực tiếp từ mã ứng dụng khách iOS, Android hoặc web của bạn bằng cách sử dụng SDK ứng dụng khách Firebase.

Bằng cách hiển thị các điểm cuối HTTP từ tiện ích mở rộng của bạn, tiện ích mở rộng của bạn có thể tích hợp với bất kỳ dịch vụ web nào hỗ trợ webhook. Với các chức năng có thể gọi được, người dùng cài đặt tiện ích mở rộng của bạn có thể sử dụng SDK Firebase làm thư viện ứng dụng khách để truy cập API mà tiện ích mở rộng của bạn triển khai.

Trình kích hoạt dịch vụ Firebase

Hầu hết các sản phẩm Firebase đều phát ra các sự kiện có thể kích hoạt Chức năng đám mây của tiện ích mở rộng.

  • Analytics: kích hoạt các chức năng khi Analytics ghi lại sự kiện
  • Phân phối ứng dụng: kích hoạt chức năng khi Phân phối ứng dụng kích hoạt cảnh báo
  • Xác thực: kích hoạt chức năng khi người dùng tạo và xóa tài khoản
  • Cloud Firestore: kích hoạt các chức năng khi trang được tạo, cập nhật hoặc xóa
  • Lưu trữ đám mây : kích hoạt các chức năng khi các đối tượng được tải lên, lưu trữ hoặc xóa khỏi nhóm
  • Crashlytics: kích hoạt chức năng khi Crashlytics kích hoạt cảnh báo
  • Giám sát hiệu suất: kích hoạt các chức năng khi Giám sát hiệu suất kích hoạt cảnh báo
  • Cơ sở dữ liệu thời gian thực: kích hoạt các chức năng khi dữ liệu được tạo, cập nhật hoặc xóa
  • Cấu hình từ xa: kích hoạt chức năng khi một tham số được cập nhật
  • Test Lab: kích hoạt chức năng khi Test Lab kích hoạt cảnh báo

Trình kích hoạt dịch vụ Google Cloud

Tiện ích mở rộng cũng có thể bao gồm các chức năng kích hoạt một số dịch vụ Google Cloud không phải Firebase:

  • Cloud Pub/Sub : tiện ích mở rộng có thể bao gồm các chức năng kích hoạt khi các sự kiện được đăng lên chủ đề Pub/Sub có thể định cấu hình.
  • Trình lập lịch biểu đám mây : tiện ích mở rộng có thể bao gồm các chức năng chạy theo lịch trình đã đặt
  • Nhiệm vụ đám mây : tiện ích mở rộng có thể bao gồm các chức năng có thể được xếp hàng đợi bằng Nhiệm vụ đám mây. Tiện ích mở rộng Firebase sử dụng khả năng này để cho phép bạn, với tư cách là tác giả tiện ích mở rộng, viết các hàm phản hồi các sự kiện "vòng đời" của tiện ích mở rộng: được cài đặt trong dự án lần đầu tiên, được nâng cấp lên phiên bản mới và được định cấu hình lại.
  • Eventarc : tiện ích mở rộng có thể bao gồm các chức năng kích hoạt khi sự kiện được xuất bản lên kênh Eventarc có thể định cấu hình; ngược lại, tiện ích mở rộng có thể xuất bản các sự kiện của riêng mình lên kênh Eventarc để cho phép người dùng xác định các chức năng của riêng họ kích hoạt từ các sự kiện của tiện ích mở rộng .

Được hỗ trợ từ các chức năng

Khi Chức năng đám mây của tiện ích mở rộng đã được kích hoạt, phạm vi tích hợp có thể có thường là kết thúc mở. Dưới đây là một số điểm nổi bật về những gì bạn có thể làm từ Chức năng đám mây:

  • Đọc, viết và tương tác với bất kỳ dịch vụ Firebase hoặc Google Cloud nào sử dụng vai trò IAM được hỗ trợ .
  • Làm việc với bất kỳ dịch vụ bên thứ ba nào cung cấp API web.
  • Làm việc với các dịch vụ tùy chỉnh của bạn nếu bạn cung cấp API web.
  • Chạy hầu hết các thư viện JavaScript, bao gồm TensorFlow.js , Express.js, v.v.

Cách xây dựng tiện ích mở rộng

Hướng dẫn Bắt đầu sẽ hướng dẫn bạn qua quy trình xây dựng, thử nghiệm và xuất bản một tiện ích mở rộng hoàn chỉnh và là cách được đề xuất để tìm hiểu cách xây dựng một tiện ích mở rộng.

Bắt đầu

Sau khi xem qua hướng dẫn bắt đầu một lần, bạn có thể tham khảo từng hướng dẫn chủ đề giải thích từng nhiệm vụ liên quan đến việc xây dựng tiện ích mở rộng của riêng bạn: