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
iCHANGELOG
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ć.
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:
- Napisz funkcje dla rozszerzenia
- Użyj parametrów w rozszerzeniu
- Skonfiguruj odpowiedni dostęp dla rozszerzenia
- Reaguj na zdarzenia cyklu życia rozszerzenia
- Dodaj zaczepy użytkownika do rozszerzenia
- Utwórz dokumentację użytkownika dla swojego rozszerzenia
- Opublikuj rozszerzenie w Centrum rozszerzeń
- Pełne odwołanie do rozszerzenia.yaml