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

Tiện ích Firebase thực hiện một nhiệm vụ cụ thể hoặc một nhóm nhiệm vụ để phản hồi các yêu cầu HTTP hoặc cá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 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, 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ể xem xét 3 thành phần chính của tiện ích:

  • 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 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ã Cloud Functions 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ư 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, POSTINSTALLCHANGELOG là tài liệu tối thiểu mà tiện ích của bạn phải có. Những 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 và những 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à 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 tiện ích, bạn có thể dùng Firebase CLI để cài đặt tiện ích đó vào một dự án hoặc xuất bản tiện ích đó lên Extensions Hub. Tại đây, 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 của tôi có thể tương tác với những sản phẩm nào?

Vì một tiện ích Firebase hoạt động bằng cách sử dụng Cloud Functions, nên bạn có thể nghĩ đến câu hỏi về các tích hợp có thể có theo hai cách: Những sản phẩm nào có thể kích hoạt các hàm của tiện ích?Sau khi được kích hoạt, những sản phẩm nào mà các hàm của tiện ích có thể tương tác?

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ợ 2 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 một điểm cuối HTTP
  • Hàm có thể gọi: gọi trực tiếp Cloud Functions từ mã ứng dụng iOS, Android hoặc web bằng cách sử dụng Firebase Client SDK.

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 mọi dịch vụ web 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 Firebase SDK 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 ra các sự kiện có thể kích hoạt Cloud Functions 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
  • App Distribution: kích hoạt các hàm khi App Distribution 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 một cảnh báo
  • Giám sát hiệu suất: kích hoạt các hàm khi Giám sát hiệu suất kích hoạt mộ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
  • Phòng thử nghiệm: kích hoạt các hàm khi Phòng thử nghiệm kích hoạt mộ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 đã đặt
  • Cloud Tasks: một tiện ích có thể bao gồm các hàm có thể được xếp hàng đợi bằng Cloud Tasks. Tiện ích 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) 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 lần đầu tiên trong một dự á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 có thể bao gồm các hàm kích hoạt khi sự kiện được xuất bản đến một kênh Eventarc có thể định cấu hình; ngược lại, tiện ích có thể xuất bản các 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ừ các sự kiện của tiện ích.

Hàm được hỗ trợ

Sau khi Cloud Functions của một tiện ích được kích hoạt, phạm vi tích hợp có thể thường không giới hạn. Sau đây là một số điểm nổi bật về những việc bạn có thể làm bằng Cloud Functions:

  • Đọc, ghi và tương tác với mọi dịch vụ Firebase hoặc Google Cloud sử dụng vai trò IAM được hỗ trợ.
  • Làm việc 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 một API web.
  • Chạy hầu hết các thư viện JavaScript, bao gồm cả 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à xuất bản một tiện ích hoàn chỉnh. Đây là cách nên dùng để tìm hiểu cách tạo một tiện ích.

Bắt đầu

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