Rozszerzenie Firebase wykonuje określone zadanie lub zestaw zadań w odpowiedzi na żądań HTTP lub wywoływania zdarzeń z innych usług Firebase i Google, takich jak Komunikacja w chmurze Firebase, Cloud Firestore lub Pub/Sub.
Możesz tworzyć własne rozszerzenia do użytku osobistego lub udostępniać je innym użytkownikom w Centrum rozszerzeń Firebase. Rozszerzenie może na przykład wykonywać określone zadania, których Twoja aplikacja regularnie potrzebuje, lub ułatwiać dostęp do interfejsów API Twojej firmy. Po utworzeniu rozszerzenia możesz je udostępnić innym. Ci użytkownicy mogą samodzielnie instalować i konfigurować rozszerzenie. Projekty Firebase.
Struktura rozszerzenia
Rozszerzenie składa się z 3 głównych elementów:
- Kod Cloud Functions w języku JavaScript lub w języku TypeScript
- Metadane opisujące rozszerzenie
- Dokumentacja ułatwiająca użytkownikom konfigurowanie rozszerzenia i korzystanie z niego
Aby utworzyć rozszerzenie, składa się z nich komponenty w taki sposób: struktura:
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. To kod, który wykonuje zadania rozszerzenia w odpowiedzi na zdarzenia wywoływane przez Firebase i usługi Google. - Plik
extension.yaml
zawiera metadane rozszerzenia, takie jak jego wyzwalacze i role dostępu IAM, a także wszystkie parametry, które chcesz udostępnić użytkownikom do konfiguracji. - Minimalne wymagania to
PREINSTALL
,POSTINSTALL
iCHANGELOG
niezbędne informacje o rozszerzeniu. Te pliki pomogą użytkownikom w zdobywaniu wiedzy działanie rozszerzenia, sposób jego używania i wprowadzone zmiany. Ty powinien też zawierać ikonę, która ułatwi użytkownikom rozpoznanie rozszerzenia. Konsola Firebase, interfejs wiersza poleceń Firebase i Centrum rozszerzeń wyświetlają zawartość te pliki, gdy użytkownicy przeglądają i instalują Twoje rozszerzenie oraz nim zarządzają.
Po utworzeniu rozszerzenia możesz je zainstalować za pomocą interfejsu wiersza poleceń Firebase go w projekcie lub opublikować w Centrum rozszerzeń, gdzie każdy może i instalować je w swoich projektach.
Z jakimi usługami może wchodzić w interakcje moje rozszerzenie?
Ponieważ rozszerzenie Firebase działa w Cloud Functions, można się dowiedzieć, możliwej integracji na 2 sposoby: Które usługi mogą funkcji rozszerzenia? oraz Które produkty po uruchomieniu mogą z którymi funkcjami są powiązane?
Obsługiwane funkcje aktywatora
Aktywatory ręczne
Przede wszystkim można aktywować funkcję ręcznie. Rozszerzenia w Firebase i chmura Funkcje obsługują 2 sposoby ręcznego wyzwalania funkcji:
- Aktywatory HTTP: wdrażanie funkcji w punkcie końcowym HTTP
- Funkcje wywoływane: możesz wywoływać funkcje w Cloud Functions bezpośrednio z iOS, kod na Androida lub kod klienta internetowego, przy użyciu pakietów SDK klienta Firebase.
Ujawniając punkty końcowe HTTP z rozszerzenia, może ono potencjalnie przeprowadzić integrację z dowolną usługą internetową, która obsługuje webhooki. Dzięki funkcjom wywoływanym użytkownicy, którzy zainstalowali Twoje rozszerzenie, mogą używać pakietów SDK Firebase jako biblioteki klienta dostępu do interfejsu API zaimplementowanego przez rozszerzenie.
Aktywatory usługi Firebase
Większość usług Firebase emituje zdarzenia, które mogą aktywować funkcje Cloud Functions w rozszerzeniu.
- Analytics: funkcje są wywoływane, gdy Analytics rejestruje zdarzenie
- Rozpowszechnianie aplikacji: aktywuj funkcje, gdy Rozpowszechnianie aplikacji uruchomi alert
- Uwierzytelnianie: funkcje wywoływane, gdy użytkownicy tworzą i usuwają konta.
- Cloud Firestore: aktywuje funkcje, gdy strony są tworzone, aktualizowane lub usunięte
- Cloud Storage: funkcje są aktywowane, gdy obiekty są przesyłane, archiwizowane lub usuwane z zasobników.
- Crashlytics:aktywuje działanie po uruchomieniu alertu przez Crashlytics.
- Monitorowanie wydajności: aktywuj funkcje, gdy Monitorowanie wydajności wywołuje alert.
- Baza danych czasu rzeczywistego: aktywuj funkcje, gdy dane są tworzone, aktualizowane lub usunięte
- Zdalna konfiguracja: aktywator działa po zaktualizowaniu parametru.
- Laboratorium: aktywuj funkcje po uruchomieniu alertu Laboratorium.
Aktywatory usługi Google Cloud
Rozszerzenie może też zawierać funkcje, które uruchamiają funkcje spoza Firebase Usługi Google Cloud:
- Cloud Pub/Sub: rozszerzenie może zawierać funkcje, które uruchamiają się, gdy są publikowane w konfigurowalnym temacie Pub/Sub.
- Cloud Scheduler: rozszerzenie może zawierać funkcje, które działają zgodnie z określonym harmonogramem.
- Cloud Tasks: rozszerzenie może zawierać funkcje, które można umieścić w kolejce za pomocą Cloud Tasks. Rozszerzenia w Firebase wykorzystują tę funkcję, aby umożliwić Ci jako autor rozszerzenia, napisz funkcje, które odpowiadają „cyklowi życia rozszerzenia” zdarzeń: pierwszej instalacji w projekcie, uaktualnienia do oraz ich ponowne konfigurowanie.
- Eventarc: rozszerzenie może zawierać funkcje, które uruchamiają się, gdy zdarzenia są publikowane w konfigurowalnym kanale Eventarc; a na odwrót – rozszerzenie może publikować własne zdarzenia w kanale Eventarc, aby umożliwić użytkownikom , aby zdefiniować własne funkcje, które uruchamiają się na podstawie zdarzeń rozszerzenia.
Obsługiwane przez funkcje
Po aktywowaniu funkcji w Cloud Functions dla rozszerzenia zakres możliwych integracje są zwykle otwarte. Oto niektóre z możliwości, w funkcji w Cloud Functions:
- odczytywać i pisać dane w usługach Firebase i Google Cloud oraz w inny sposób ich używać; usługa, która korzysta z obsługiwaną rolę uprawnień.
- współpracować z dowolną usługą innej firmy, która udostępnia internetowy interfejs API;
- Jeśli udostępniasz internetowy interfejs API, możesz korzystać z usług niestandardowych.
- Uruchamiaj większość bibliotek JavaScript, w tym TensorFlow.js, Express.js i tak dalej.
Jak utworzyć rozszerzenie
W samouczku Wprowadzenie znajdziesz informacje o procesie tworzenia, testowania i publikowania rozszerzenia. To najlepszy sposób na naukę tworzenia rozszerzeń.
Po zapoznaniu się z przewodnikiem dla początkujących możesz skorzystać z przewodniki po poszczególnych tematach, które wyjaśniają każde zadanie własne rozszerzenie:
- Zapisywanie funkcji rozszerzenia
- Używanie parametrów w rozszerzeniu
- Konfigurowanie odpowiedniego dostępu do rozszerzenia
- Odpowiadanie na zdarzenia cyklu życia rozszerzenia
- Dodawanie do rozszerzenia elementów łączących użytkowników
- Tworzenie dokumentacji użytkownika rozszerzenia
- Publikowanie rozszerzenia w Centrum rozszerzeń
- Kompletne informacje o pliku extensions.yaml