Tiện ích mở rộng Firebase thực hiện một tác vụ hoặc nhóm tác 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 khác của Firebase và Google, như Nhắn tin qua đám mây của Firebase, Cloud Firestore hoặc Pub/Sub.
Bạn có thể tạo 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 một trong các API của công ty bạn dễ dàng hơn. Sau khi bạn tạo tiện ích mở rộng của mình, bạn có thể chia sẻ tiện ích mở rộng đó với những 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 một phần mở rộng
Bạn có thể nghĩ về một 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 của bạn đị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 lắp rá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ã Chức năng đá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 lại các sự kiện được kích hoạt bởi Firebase và các dịch vụ của Google. - Tệp
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 nó, cũng như bất kỳ tham số nào bạn muốn để người dùng có thể định cấu hình. - Các tệp
PREINSTALL
,POSTINSTALL
vàCHANGELOG
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 cập nhật bạn đã thực hiện. Bạn cũng nên cung cấp một 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 những 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 bạn đã tạo tiện ích mở rộng của mình, bạn có thể sử dụng Firebase CLI để cài đặt tiện ích đó vào dự án hoặc xuất bản tiện ích đó lên Trung tâm tiện ích mở rộng, nơi mọi người có thể khám phá và cài đặt tiện ích đó 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 cách sử dụng Chức năng đám mây, nên bạn có thể đặt 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? và 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ợ
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 chức năng tới điểm cuối HTTP
- Các chức năng có thể gọi: gọi Chức năng đám mây của bạn trực tiếp từ mã máy khách iOS, Android hoặc web của bạn bằng cách sử dụng SDK máy 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ó khả năng 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 máy 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 một sự kiện
- Phân phối ứng dụng: chức năng kích hoạt khi Phân phối ứng dụng kích hoạt cảnh báo
- Xác thực: kích hoạt các 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 các 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 các chức năng khi Crashlytics kích hoạt cảnh báo
- Giám sát hiệu suất: các chức năng kích hoạt 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
- Remote Config: kích hoạt các 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
Một 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 của 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 sự kiện được đăng lên chủ đề Pub/Sub có thể định cấu hình.
- Bộ lập lịch đá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
- Tác vụ trên đám mây : một 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 Tác vụ trên đá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 chức năng đáp ứng 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 các 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 chính nó 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
Sau 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 được mở kết thúc. 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 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 khuyến nghị để tìm hiểu cách xây dựng một tiện ích mở rộng.
Sau khi bạn đã xem qua hướng dẫn bắt đầu một lần, bạn có thể tham khảo các hướng dẫn chủ đề riêng lẻ, 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:
- Viết hàm cho tiện ích mở rộng
- Sử dụng tham số trong tiện ích mở rộng
- Thiết lập quyền truy cập phù hợp cho tiện ích mở rộng
- Phản hồi các sự kiện vòng đời tiện ích mở rộng
- Thêm móc người dùng vào tiện ích mở rộng
- Tạo tài liệu người dùng cho tiện ích mở rộng của bạn
- Xuất bản tiện ích mở rộng trên Trung tâm tiện ích mở rộng
- Hoàn thành tài liệu tham khảo extension.yaml