Tiện ích Firebase thực hiện một tác vụ hoặc nhóm tác vụ cụ thể theo 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, chẳng hạn như Giải pháp gửi thông báo qua đám mây của Firebase, Cloud Firestore hoặc Pub/Sub.
Bạn có thể tạo tiện ích của riêng mình để sử dụng cho mục đích cá nhân hoặc để chia sẻ với mọi người trong Trung tâm tiện ích Firebase. Ví dụ: tiện ích 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 đến, hoặc có thể giúp bạn dễ dàng truy cập vào một trong các API của công ty. Sau khi tạo tiện ích, bạn có thể chia sẻ tiện ích đó 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 để sử dụng trong các dự án Firebase của riêng họ.
Cấu trúc của một tiện ích
Bạn có thể coi một tiện ích là có ba thành phần chính:
- Mã Cloud Functions, bằng JavaScript hoặc TypeScript
- Siêu dữ liệu mô tả tiện ích 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 của bạn
Để phát triển một tiện ích, bạn sẽ tập hợp các thành phần này vào 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ã của bạn cho Hàm trên đám mây bằng JavaScript hoặc TypeScript. Đây là mã thực hiện các tác vụ của tiện ích để phản hồi các sự kiện do Firebase và các dịch vụ của Google kích hoạt. - Tệp
extension.yaml
chứa siêu dữ liệu về tiện ích của bạn, chẳng hạn như các điều kiện kích hoạt và vai trò truy cập IAM, 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 của bạn phải có. Các tệp này giúp người dùng tìm hiểu về chức năng của tiện ích, cách sử dụng tiện ích và nội dung cập nhật mà 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. Bảng điều khiển Firebase, Firebase CLI và Trung tâm tiện ích 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 của bạn.
Sau khi tạo tiện ích, bạn có thể sử dụng Firebase CLI để cài đặt tiện ích đó vào một dự án hoặc phát hành tiện ích đó lên Trung tâm tiện ích. Tại đây, mọi người đều có thể khám phá và cài đặt tiện ích đó vào dự án của họ.
Tiện ích của tôi có thể tương tác với những sản phẩm nào?
Do tiện ích Firebase hoạt động bằng Cloud Functions, 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? và Sau khi được kích hoạt, các chức năng của tiện ích của tôi có thể tương tác với sản phẩm nào?
Trình kích hoạt hàm được hỗ trợ
Điều kiện kích hoạt thủ công
Trước hết, bạn có thể kích hoạt một hàm theo cách thủ công. Tiện ích Firebase và Hàm trên đám mây hỗ trợ hai cách kích hoạt hàm theo cách thủ công:
- Trình kích hoạt HTTP: triển khai một hàm đến điểm cuối HTTP
- Hàm có thể gọi: gọi trực tiếp Hàm trên đám mây từ mã ứng dụng iOS, Android hoặc web bằng SDK ứng dụng Firebase.
Bằng cách hiển thị các điểm cuối HTTP từ tiện ích, tiện ích 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 hàm có thể gọi, người dùng cài đặt tiện ích của bạn có thể sử dụng SDK Firebase làm thư viện ứng dụng để truy cập vào API mà tiện ích 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 Hàm trên đám mây của một tiện ích.
- Analytics: kích hoạt các hàm khi Analytics ghi lại một sự kiện
- Phân phối ứng dụng: kích hoạt các hàm khi Phân phối ứng dụng kích hoạt một cảnh báo
- Xác thực: kích hoạt các hàm khi người dùng tạo và xoá tài khoản
- Cloud Firestore: kích hoạt các hàm khi các trang được tạo, cập nhật hoặc xoá
- Bộ nhớ trên đám mây: kích hoạt các chức năng khi đối tượng được tải lên, lưu trữ hoặc xoá khỏi bộ chứa
- Crashlytics: kích hoạt các hàm khi Crashlytics kích hoạt cảnh báo
- Giám sát hiệu suất: kích hoạt các hàm khi tính năng Giám sát hiệu suất kích hoạt cảnh báo
- Cơ sở dữ liệu theo thời gian thực: kích hoạt các hàm khi dữ liệu được tạo, cập nhật hoặc xoá
- Cấu hình từ xa: kích hoạt các hàm khi một tham số được cập nhật
- Test Lab: kích hoạt các hàm 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 cũng có thể bao gồm các hàm kích hoạt một số dịch vụ Google Cloud không phải Firebase:
- Cloud Pub/Sub: một tiện ích có thể bao gồm các hàm kích hoạt khi các sự kiện được đăng lên một chủ đề Pub/Sub có thể định cấu hình.
- Cloud Scheduler: một tiện ích có thể bao gồm các hàm chạy theo lịch biểu đã định trước
- Cloud Tasks: một tiện ích có thể bao gồm các hàm có thể được đưa vào hàng đợi bằng cách sử dụng Cloud Tasks. Tiện ích Firebase sử dụng chức năng này để cho phép bạn, với tư cách là tác giả tiện ích, viết các hàm phản hồi các sự kiện "vòng đời" của tiện ích: đượ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: một tiện ích có thể bao gồm các hàm kích hoạt khi sự kiện được phát hành đến một kênh Eventarc có thể định cấu hình; ngược lại, một tiện ích có thể phát hành sự kiện của riêng mình đến một kênh Eventarc để cho phép người dùng xác định các hàm của riêng họ kích hoạt từ sự kiện của tiện ích.
Được hỗ trợ từ các hàm
Sau khi Hàm trên đám mây của một tiện ích được kích hoạt, phạm vi tích hợp có thể thực hiện thường là không giới hạn. Dưới đây là một số điểm nổi bật về những việc bạn có thể làm trong Hàm trên đám mây:
- Đọc, ghi 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ợ.
- Hoạt động với mọi dịch vụ bên thứ ba cung cấp API web.
- Làm việc với dịch vụ tuỳ chỉnh 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 tạo tiện ích
Hướng dẫn Bắt đầu sẽ hướng dẫn bạn qua quy trình xây dựng, kiểm thử và phát hành một tiện ích hoàn chỉnh. Đây cũng là cách được đề xuất để tìm hiểu cách tạo một tiện ích.
Sau khi xem hướng dẫn bắt đầu một lần, bạn có thể tham khảo các hướng dẫn theo chủ đề riêng lẻ. Các hướng dẫn này giải thích từng nhiệm vụ liên quan đến việc tạo tiện ích của riêng bạn:
- Viết hàm cho một tiện ích
- Sử dụng tham số trong một tiện ích
- Thiết lập quyền truy cập thích hợp cho một tiện ích
- Phản hồi các sự kiện trong vòng đời của tiện ích
- Thêm nội dung hấp dẫn người dùng vào một tiện ích
- Tạo tài liệu người dùng cho tiện ích
- Xuất bản tiện ích trên Trung tâm tiện ích
- Thông tin tham khảo đầy đủ về extension.yaml