Tiện ích Firebase thực hiện một tác vụ hoặc một nhóm tác vụ cụ thể để phản hồi các yêu cầu HTTP hoặc sự kiện kích hoạt 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 riêng để sử dụng 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 các 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ư trình kích hoạt và vai trò truy cập IAM, cũng như mọi thông số mà 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 một biểu tượng để giúp người dùng nhận ra tiện ích của bạn. 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?
Vì tiện ích Firebase hoạt động bằng cách sử dụng Hàm trên đám mây, nên bạn có thể xem xét câu hỏi về khả năng tích hợp theo hai cách: Những sản phẩm nào có thể kích hoạt hàm của tiện ích? và Sau khi được kích hoạt, hàm của tiện ích có thể tương tác với những 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 tiên, bạn có thể kích hoạt một hàm theo cách thủ công. Tiện ích Firebase và Cloud Functions 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 trang được tạo, cập nhật hoặc xoá
- Cloud Storage: kích hoạt các hàm 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 (Trình lập lịch biểu trên đám mây): một tiện ích có thể bao gồm các hàm chạy theo lịch biểu đã đặt
- 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 quy trình tạo, kiểm thử và phát hành một tiện ích hoàn chỉnh. Đây là cách được đề xuất để tìm hiểu cách tạo 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 trình bổ trợ người dùng vào 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