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 mở rộng của riêng mình 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 hành động 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 bạn. Sau khi tạo tiện ích, bạn có thể chia sẻ tiện ích đó vớ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 hãy tập hợp các thành phần này thành những phần sau cấu trúc:
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ư 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. - Tệp
PREINSTALL
,POSTINSTALL
vàCHANGELOG
là kích thước tối thiểu tài liệu mà tiện ích của bạn phải có. Những tệp này giúp người dùng học hỏi chức năng của tiện ích, cách sử dụng tiện ích 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 một biểu tượng để giúp người dùng nhận ra tiện ích của bạn. Chiến lược phát hành đĩa đơn Bảng điều khiển của Firebase, Firebase CLI và Extensions Hub 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 phần mở rộng, bạn có thể sử dụng Firebase CLI để cài đặt thành một dự án hoặc xuất bản lên Trung tâm tiện ích, nơi mọi người đều có thể khám phá và cài đặt 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 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à Cloud Functions hỗ trợ hai cách kích hoạt hàm theo cách thủ công:
- Điều kiện kích hoạt HTTP: triển khai 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 của Firebase đều phát những sự kiện có thể kích hoạt Đám mây của tiện ích Hàm.
- 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 tính năng 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 chức năng 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 nhóm
- 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: 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 chủ đề Pub/Sub có thể định cấu hình.
- Cloud Scheduler: tiện ích có thể bao gồm các hàm chạy trên một tập hợp lịch thi đấu
- 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 khả năng này để cho phép bạn, như một tác giả của tiện ích, viết các hàm phản hồi "vòng đời" của tiện ích sự kiện: lần đầu được cài đặt trong một dự án, được nâng cấp lên phiên bản mới và đang đượ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 từ một Hàm trên đám mây:
- Đọc, ghi và tương tác với bất kỳ Firebase hoặc Google Cloud nào dịch vụ 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 các 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 đã đọc qua một lần hướng dẫn bắt đầu, bạn có thể tham khảo các hướng dẫn theo chủ đề riêng lẻ, trong đó giải thích từng nhiệm vụ có 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 các tham số trong phần mở rộng
- 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