Omówienie wydawcy rozszerzeń

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

Możesz zbudować własne rozszerzenie do użytku osobistego lub udostępnić je światu w Centrum rozszerzeń Firebase. Na przykład Twoje rozszerzenie może wykonać 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żna myśleć o rozszerzeniu jako o trzech głównych komponentach:

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

Aby opracować rozszerzenie, należy złożyć 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 języku JavaScript lub TypeScript. Jest to kod realizujący 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 jego wyzwalacze i role dostępu do uprawnień, a także wszelkie parametry, które użytkownik ma konfigurować.
  • Pliki PREINSTALL , POSTINSTALL i CHANGELOG stanowią minimalną dokumentację, jaką musi posiadać Twoje rozszerzenie. Pliki te 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, interfejs wiersza polecenia Firebase i Centrum rozszerzeń wyświetlają zawartość tych plików, gdy użytkownicy przeglądają, instalują i zarządzają Twoim rozszerzeniem.

Po utworzeniu rozszerzenia możesz użyć interfejsu wiersza polecenia Firebase, 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 interakcję?

Ponieważ rozszerzenie Firebase działa przy użyciu funkcji Cloud Functions, kwestię możliwych integracji możesz przemyśleć na dwa sposoby: Jakie produkty mogą uruchamiać funkcje mojego rozszerzenia? oraz Z jakimi produktami, po uruchomieniu, funkcje mojego rozszerzenia mogą wchodzić w interakcję?

Obsługiwane wyzwalacze funkcji

Ręczne wyzwalacze

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

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

Ujawniając punkty końcowe HTTP w rozszerzeniu, może ono potencjalnie zintegrować się z dowolną usługą internetową obsługującą elementy webhook. Dzięki wywoływalnym funkcjom użytkownicy, którzy zainstalują Twoje rozszerzenie, mogą używać zestawów SDK Firebase 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ą uruchomić funkcje chmury rozszerzenia.

  • Analytics: wyzwalaj funkcje, gdy Analytics rejestruje zdarzenie
  • Dystrybucja aplikacji: uruchamia funkcje, gdy Dystrybucja aplikacji wyzwala alert
  • Uwierzytelnianie: uruchamia funkcje, gdy użytkownicy tworzą i usuwają konta
  • Cloud Firestore: uruchamiaj funkcje, gdy strony są tworzone, aktualizowane lub usuwane
  • Cloud Storage : uruchamia funkcje, gdy obiekty są przesyłane, archiwizowane lub usuwane z segmentó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 podczas tworzenia, aktualizowania lub usuwania danych
  • Zdalna konfiguracja: wyzwalanie funkcji po aktualizacji parametru
  • 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 uruchamiane po opublikowaniu zdarzeń w konfigurowalnym temacie Pub/Sub.
  • Cloud Scheduler : rozszerzenie może zawierać funkcje działające według ustalonego harmonogramu
  • Cloud Tasks : rozszerzenie może zawierać funkcje, które można ustawić w kolejce za pomocą Cloud Tasks. Firebase Extensions wykorzystuje tę możliwość, aby umożliwić autorowi rozszerzenia pisanie funkcji, które reagują na zdarzenia w „cyklu życia” rozszerzenia: pierwszą instalację w projekcie, aktualizację do nowej wersji i ponowną konfigurację.
  • Eventarc : rozszerzenie może zawierać funkcje uruchamiane po opublikowaniu zdarzeń na konfigurowalnym kanale Eventarc; i odwrotnie, rozszerzenie może publikować własne zdarzenia na kanale Eventarc, aby umożliwić użytkownikom definiowanie własnych funkcji uruchamianych na podstawie zdarzeń rozszerzenia .

Obsługiwane z funkcji

Po uruchomieniu funkcji chmury rozszerzenia zakres możliwych integracji jest ogólnie otwarty. Oto kilka najważniejszych możliwości funkcji chmury:

  • Czytaj, pisz i w inny sposób korzystaj z dowolnej usługi Firebase lub Google Cloud , która korzysta z obsługiwanej roli IAM .
  • Współpracuj z dowolną usługą innej firmy udostępniającą internetowy interfejs API.
  • Pracuj z usługami niestandardowymi , jeśli udostępniasz internetowy interfejs API.
  • Uruchom większość bibliotek JavaScript, w tym TensorFlow.js , Express.js i tak dalej.

Jak zbudować rozszerzenie

Samouczek Wprowadzenie przeprowadzi Cię przez proces tworzenia, testowania i publikowania kompletnego rozszerzenia i jest zalecanym sposobem nauczenia się, jak je zbudować.

Zaczynaj

Po jednokrotnym przejrzeniu przewodnika wprowadzającego możesz zapoznać się z indywidualnymi przewodnikami tematycznymi, które wyjaśniają każde z zadań związanych z tworzeniem własnego rozszerzenia: