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 utworzyć własne rozszerzenie do użytku osobistego lub udostępnić całemu światu w w Centrum rozszerzeń w 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ć następującym użytkownikom: reszta. Ci użytkownicy mogą samodzielnie instalować i konfigurować rozszerzenie. Projekty Firebase.
Struktura rozszerzenia
Rozszerzenie składa się z 3 głównych elementów:
- kod funkcji w Cloud Functions w JavaScript lub TypeScript,
- Metadane opisujące rozszerzenie
- Dokumentacja ułatwiająca użytkownikom konfigurowanie rozszerzenia i korzystanie z niego
Aby opracować rozszerzenie, musisz połączyć te komponenty w taką 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 funkcji Cloud Functions w 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 dotyczące rozszerzenia, takie jak: jego aktywatory i role dostępu, a także wszelkie parametry, które mają być które można skonfigurować przez użytkownika. - Pliki
PREINSTALL
,POSTINSTALL
iCHANGELOG
stanowią minimalną dokumentację, jaką musi zawierać Twoja rozszerzenie. Te pliki pomogą użytkownikom w zdobywaniu wiedzy działanie rozszerzenia, sposób jego używania i wprowadzone zmiany. Musisz też podać ikonę, która pomoże użytkownikom rozpoznać Twoje rozszerzenie. Konsole Firebase, Firebase CLI i Centrum rozszerzeń wyświetlają zawartość tych plików, gdy użytkownicy przeglądają, instalują i zarządzają rozszerzeniem.
Po utworzeniu rozszerzenia możesz je zainstalować w projekcie za pomocą wiersza poleceń Firebase lub opublikować w Centrum rozszerzeń, gdzie każdy będzie mógł je znaleźć i zainstalować w swoich projektach.
Z czym może wchodzić w interakcję moje rozszerzenie?
Rozszerzenie Firebase działa przy użyciu funkcji Cloud Functions, więc możliwe integracje możesz rozpatrywać na 2 sposoby: które usługi mogą wywoływać funkcje mojego rozszerzenia? i z którymi usługami mogą wchodzić w interakcje funkcje mojego rozszerzenia po jego wywołaniu?
Obsługiwane funkcje aktywatora
Aktywatory ręczne
Po pierwsze, możesz ręcznie uruchomić funkcję. Rozszerzenia w Firebase i chmura Funkcje obsługują 2 sposoby ręcznego wyzwalania funkcji:
- Wyzwalacze 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 zainstalują Twoje rozszerzenie, mogą używać pakietów SDK Firebase jako biblioteki klienta do uzyskiwania dostępu do interfejsu API implementowanego przez rozszerzenie.
Aktywatory usługi Firebase
Większość usług Firebase emituje zdarzenia, które mogą aktywować funkcje Cloud Functions w rozszerzeniu.
- Analytics: reguły aktywują działania, gdy Analytics zarejestruje zdarzenie.
- Rozpowszechnianie aplikacji: funkcje wywoływane, gdy rozpowszechnianie aplikacji powoduje alert
- Uwierzytelnianie: funkcje wywoływane, gdy użytkownicy tworzą i usuwają konta.
- Cloud Firestore: funkcje są wywoływane, gdy strony są tworzone, aktualizowane lub usuwane.
- Cloud Storage: aktywuj funkcje, gdy obiekty są przesyłane, archiwizowane lub usunięto z zasobników
- Crashlytics: funkcje uruchamiają się, gdy Crashlytics uruchamia alert.
- Monitorowanie wydajności: aktywuj funkcje, gdy Monitorowanie wydajności wywoła alert
- Baza danych czasu rzeczywistego: aktywuj funkcje, gdy dane są tworzone, aktualizowane lub usunięte
- Zdalna konfiguracja: funkcje są wywoływane, gdy nastąpi zmiana parametru.
- Laboratorium: aktywuj funkcje po uruchomieniu alertu Laboratorium.
Aktywatory usługi Google Cloud
Rozszerzenie może też zawierać funkcje, które aktywują kilka usług Google Cloud spoza Firebase:
- Cloud Pub/Sub: rozszerzenie może zawierać funkcje, które są wywoływane, gdy zdarzenia są publikowane w konfigurowalnym temacie Pub/Sub.
- Cloud Scheduler: rozszerzenie może zawierać funkcje, które działają na zbiorze harmonogram
- 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 są uruchamiane po opublikowaniu zdarzeń na konfigurowalnym kanale Eventarc. Z drugiej strony rozszerzenie może publikować własne zdarzenia na kanale Eventarc, aby umożliwić użytkownikom definiowanie własnych funkcji, które są uruchamiane przez zdarzenia rozszerzenia.
Obsługiwane funkcje
Po aktywowaniu funkcji w Cloud Functions dla rozszerzenia zakres możliwych integracje są zwykle otwarte. Oto kilka najważniejszych funkcji, które możesz wykonywać za pomocą funkcji w Cloud Functions:
- Czytanie, zapisywanie i w inny sposób wchodzenie w interakcję z usługami Firebase lub Google Cloud, które korzystają z obsługiwanych ról uprawnień IAM.
- 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.
- Uruchamiać większość bibliotek JavaScript, w tym TensorFlow.js, Express.js itd.
Jak utworzyć rozszerzenie
Samouczek Pierwsze kroki zawiera szczegółowe informacje tworzenia, testowania i publikowania kompletnego rozszerzenia. znajdziesz wskazówki, jak je stworzyć.
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 dla rozszerzenia
- Reagowanie 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