Omówienie wydawcy rozszerzeń

Rozszerzenie Firebase wykonuje określone zadanie lub zestaw zadań w odpowiedzi na żądania HTTP lub wyzwala zdarzenia z innych produktów Firebase i Google, takich jak Firebase Cloud Messaging, Cloud Firestore lub Pub/Sub.

Możesz utworzyć własne rozszerzenie do użytku osobistego lub udostępnić je światu w Firebase Extensions Hub. Twoje rozszerzenie może na przykład wykonywać określone zadanie, którego regularnie potrzebuje Twoja aplikacja, lub może ułatwić dostęp do jednego z interfejsów API Twojej firmy. Po utworzeniu rozszerzenia możesz udostępnić je innym. Ci użytkownicy mogą zainstalować i skonfigurować rozszerzenie do użytku we własnych projektach Firebase.

Struktura rozszerzenia

Możesz myśleć o rozszerzeniu jako składającym się z trzech głównych komponentów:

  • Kod Cloud Functions w JavaScript lub TypeScript
  • Metadane opisujące Twoje rozszerzenie
  • Dokumentacja ułatwiająca użytkownikom konfigurowanie i korzystanie z rozszerzenia

Aby opracować rozszerzenie, składasz te komponenty w następującą strukturę:

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
  • Katalog functions zawiera kod Cloud Functions w JavaScript lub TypeScript. Jest to kod, który wykonuje zadania rozszerzenia w odpowiedzi na zdarzenia wywołane przez usługi Firebase i Google.
  • Plik extension.yaml zawiera metadane dotyczące Twojego rozszerzenia, takie jak wyzwalacze i role dostępu IAM, a także wszelkie parametry, które użytkownik może konfigurować.
  • Pliki PREINSTALL , POSTINSTALL i CHANGELOG to minimalna dokumentacja, którą musi posiadać rozszerzenie. Te pliki pomagają użytkownikom dowiedzieć się, co robi Twoje rozszerzenie, jak z niego korzystać i jakie aktualizacje wprowadziłeś. Powinieneś także udostępnić ikonę, która pomoże użytkownikom rozpoznać Twoje rozszerzenie. Konsola Firebase, Firebase CLI i Extensions Hub wyświetlają zawartość tych plików, gdy użytkownicy przeglądają, instalują i zarządzają Twoim rozszerzeniem.

Po utworzeniu rozszerzenia możesz użyć Firebase CLI, aby zainstalować je w projekcie lub opublikować w Centrum rozszerzeń, gdzie każdy może je znaleźć i zainstalować w swoich projektach.

Z jakimi produktami moje rozszerzenie może wchodzić w interakcje?

Ponieważ rozszerzenie Firebase działa przy użyciu Cloud Functions, kwestię możliwych integracji można rozpatrywać na dwa sposoby: Jakie produkty mogą uruchamiać funkcje mojego rozszerzenia? oraz Po uruchomieniu, z jakimi produktami mogą wchodzić w interakcje funkcje mojego rozszerzenia?

Obsługiwane wyzwalacze funkcji

Ręczne wyzwalacze

Po pierwsze, możesz ręcznie uruchomić funkcję. Rozszerzenia Firebase i Cloud Functions obsługują dwa sposoby ręcznego uruchamiania funkcji:

  • Wyzwalacze HTTP: wdrażanie funkcji w punkcie końcowym HTTP
  • Funkcje, które można wywoływać: wywołuj funkcje Cloud Functions bezpośrednio z kodu klienta iOS, Android lub internetowego, korzystając z pakietów SDK klienta Firebase.

Uwidaczniając punkty końcowe HTTP z Twojego rozszerzenia, Twoje rozszerzenie może potencjalnie zintegrować się z dowolną usługą internetową obsługującą elementy webhook. Dzięki funkcjom wywoływalnym użytkownicy, którzy zainstalują Twoje rozszerzenie, mogą używać pakietów Firebase SDK jako biblioteki klienckiej umożliwiającej dostęp do interfejsu API implementowanego przez Twoje rozszerzenie.

Wyzwalacze usługi Firebase

Większość produktów Firebase emituje zdarzenia, które mogą wyzwalać funkcje Cloud Functions rozszerzenia.

  • Analytics: wyzwala funkcje, gdy Analytics rejestruje zdarzenie
  • Dystrybucja aplikacji: uruchamia funkcje, gdy Dystrybucja aplikacji wyzwala alert
  • Uwierzytelnianie: wyzwalaj funkcje, gdy użytkownicy tworzą i usuwają konta
  • Cloud Firestore: uruchamia funkcje, gdy strony są tworzone, aktualizowane lub usuwane
  • Przechowywanie w chmurze : wyzwala funkcje, gdy obiekty są przesyłane, archiwizowane lub usuwane z zasobników
  • Crashlytics: uruchamia funkcje, gdy Crashlytics wyzwala alert
  • Monitorowanie wydajności: funkcje wyzwalania, gdy monitorowanie wydajności wyzwala alert
  • Baza danych czasu rzeczywistego: uruchamia funkcje, gdy dane są tworzone, aktualizowane lub usuwane
  • Zdalna konfiguracja: wyzwalanie działa, gdy parametr jest aktualizowany
  • Laboratorium testowe: uruchamia funkcje, gdy Laboratorium testowe wyzwala alert

Wyzwalacze usługi Google Cloud

Rozszerzenie może również zawierać funkcje uruchamiające kilka usług Google Cloud innych niż Firebase:

  • Cloud Pub/Sub : rozszerzenie może zawierać funkcje, które uruchamiają się, gdy zdarzenia są publikowane w konfigurowalnym temacie Pub/Sub.
  • Cloud Scheduler : rozszerzenie może zawierać funkcje działające zgodnie z ustalonym harmonogramem
  • Zadania w chmurze : rozszerzenie może zawierać funkcje, które można ustawiać w kolejce za pomocą zadań w chmurze. Firebase Extensions wykorzystuje tę możliwość, aby umożliwić autorowi rozszerzenia pisanie funkcji reagujących na zdarzenia „cyklu życia” rozszerzenia: pierwszą instalację w projekcie, uaktualnienie do nowej wersji i ponowną konfigurację.
  • Eventarc : rozszerzenie może zawierać funkcje, które uruchamiają się, gdy zdarzenia są publikowane w konfigurowalnym kanale Eventarc; i odwrotnie, rozszerzenie może publikować własne zdarzenia w kanale Eventarc, aby umożliwić użytkownikom zdefiniowanie własnych funkcji uruchamianych na podstawie zdarzeń rozszerzenia .

Obsługiwane z funkcji

Po uruchomieniu funkcji Cloud w rozszerzeniu zakres możliwych integracji jest zasadniczo otwarty. Oto kilka najważniejszych informacji o tym, co możesz zrobić z funkcją w chmurze:

  • Odczytywanie, zapisywanie i inne interakcje z dowolną usługą Firebase lub Google Cloud korzystającą z obsługiwanej roli uprawnień .
  • Współpracuj z dowolną usługą innej firmy , która udostępnia internetowy interfejs API.
  • Pracuj z usługami niestandardowymi , jeśli udostępniasz internetowy interfejs API.
  • Uruchamiaj większość bibliotek JavaScript, w tym TensorFlow.js , Express.js i tak dalej.

Jak zbudować rozszerzenie

Samouczek Pierwsze kroki przeprowadzi Cię przez proces tworzenia, testowania i publikowania pełnego rozszerzenia i jest zalecanym sposobem nauczenia się, jak je zbudować.

Zaczynaj

Po jednokrotnym zapoznaniu się z przewodnikiem wprowadzającym możesz przejść do poszczególnych przewodników tematycznych, które wyjaśniają każde z zadań związanych z tworzeniem własnego rozszerzenia: