Rozszerzenie Firebase wykonuje określone zadanie lub zestaw zadań w odpowiedzi na żądania HTTP lub zdarzenia wywołujące z innych usług Firebase i Google, takich jak Komunikacja w chmurze Firebase, Cloud Firestore czy Pub/Sub.
Możesz utworzyć własne rozszerzenie do użytku osobistego lub udostępnić je innym w Centrum rozszerzeń Firebase. Na przykład rozszerzenie może wykonywać określone zadanie, którego aplikacja regularnie potrzebuje, lub ułatwiać dostęp do jednego z interfejsów API Twojej firmy. Po utworzeniu rozszerzenia możesz udostępnić je innym osobom. Mogą oni zainstalować i skonfigurować rozszerzenie do użytku we własnych projektach Firebase.
Struktura rozszerzenia
Rozszerzenie składa się z 3 głównych komponentów:
- kod Cloud Functions w języku JavaScript lub TypeScript,
- Metadane opisujące rozszerzenie
- dokumentacja, która pomoże użytkownikom skonfigurować i używać rozszerzenia.
Aby utworzyć rozszerzenie, połącz 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 funkcji w Cloud Functions w JavaScript lub TypeScript. Jest 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 wyzwalacze i role dostępu IAM, a także parametry, które mają być konfigurowane przez użytkownika. - Pliki
PREINSTALL
,POSTINSTALL
iCHANGELOG
to minimalna dokumentacja, jaką musi zawierać Twoje rozszerzenie. Te pliki pomagają użytkownikom dowiedzieć się, do czego służy Twoje rozszerzenie, jak go używać i jakie aktualizacje zostały w nim wprowadzone. Powinieneś też podać ikonę, która pomoże użytkownikom rozpoznać Twoje rozszerzenie. Konsola Firebase, interfejs wiersza poleceń 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ć wiersza poleceń Firebase, aby zainstalować je w projekcie lub opublikować w Centrum rozszerzeń, gdzie każdy będzie mógł je znaleźć i zainstalować w swoich projektach.
Z jakimi usługami może wchodzić w interakcje moje rozszerzenie?
Rozszerzenie Firebase działa przy użyciu Cloud Functions, więc o możliwych integracjach możesz myśleć na 2 sposoby: Jakie usługi mogą wywoływać funkcje mojego rozszerzenia? i Z jakimi usługami mogą wchodzić w interakcje funkcje mojego rozszerzenia po wywołaniu?
Obsługiwane aktywatory funkcji
Wyzwalacze ręczne
Po pierwsze, możesz ręcznie wywołać funkcję. Rozszerzenia Firebase i Cloud Functions obsługują 2 sposoby ręcznego wywoływania funkcji:
- Aktywatory HTTP: wdrażanie funkcji w punkcie końcowym HTTP
- Funkcje wywoływane: wywołuj funkcje Cloud Functions bezpośrednio z kodu klienta iOS, Androida lub internetowego za pomocą pakietów SDK klienta Firebase.
Udostępniając punkty końcowe HTTP z rozszerzenia, możesz zintegrować je 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 zaimplementowanego przez rozszerzenie.
Aktywatory usług Firebase
Większość usług Firebase emituje zdarzenia, które mogą aktywować funkcje Cloud Functions rozszerzenia.
- Analytics: aktywowanie funkcji, gdy Analytics rejestruje zdarzenie
- Rozpowszechnianie aplikacji: aktywowanie funkcji, gdy Rozpowszechnianie aplikacji wywoła alert
- Uwierzytelnianie: aktywowanie funkcji, gdy użytkownicy tworzą i usuwają konta
- Cloud Firestore: aktywuj funkcje, gdy strony są tworzone, aktualizowane lub usuwane.
- Cloud Storage: aktywuj funkcje, gdy obiekty są przesyłane, archiwizowane lub usuwane z zasobników.
- Crashlytics: aktywowanie funkcji, gdy Crashlytics wywołuje alert.
- Monitorowanie wydajności: wywoływanie funkcji, gdy Monitorowanie wydajności wywoła alert.
- Baza danych czasu rzeczywistego: aktywowanie funkcji, gdy dane są tworzone, aktualizowane lub usuwane.
- Zdalna konfiguracja: wywoływanie funkcji po zaktualizowaniu parametru
- Test Lab: aktywowanie funkcji, gdy Test Lab wywoła alert.
Aktywatory usług Google Cloud
Rozszerzenie może też zawierać funkcje, które są aktywowane przez kilka usług Google Cloud innych niż 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 są uruchamiane zgodnie z ustalonym harmonogramem.
- Cloud Tasks: rozszerzenie może zawierać funkcje, które można umieszczać w kolejce za pomocą Cloud Tasks. Rozszerzenia Firebase korzystają z tej funkcji, aby umożliwić Ci, jako autorowi rozszerzenia, pisanie funkcji, które reagują na zdarzenia „cyklu życia” rozszerzenia: pierwsze zainstalowanie w projekcie, uaktualnienie do nowej wersji i ponowna konfiguracja.
- Eventarc: rozszerzenie może zawierać funkcje, które są uruchamiane, gdy zdarzenia są publikowane w konfigurowalnym kanale Eventarc. Z drugiej strony rozszerzenie może publikować własne zdarzenia w kanale Eventarc, aby umożliwić użytkownikom definiowanie własnych funkcji, które są uruchamiane przez zdarzenia rozszerzenia.
Obsługiwane funkcje
Po wywołaniu funkcji Cloud Function rozszerzenia zakres możliwych integracji jest zwykle nieograniczony. Oto kilka przykładów tego, co możesz zrobić za pomocą funkcji w Cloud Functions:
- Odczytywanie, zapisywanie i wykonywanie innych działań w dowolnej usłudze Firebase lub Google Cloud, która korzysta z obsługiwanej roli uprawnień IAM.
- Współpracuje z dowolną usługą innej firmy, która udostępnia interfejs API.
- Współpracuj z usługami niestandardowymi, jeśli udostępniasz internetowy interfejs API.
- Uruchamiaj większość bibliotek JavaScript, w tym TensorFlow.js, Express.js itp.
Jak utworzyć rozszerzenie
Samouczek Wprowadzenie przeprowadzi Cię przez proces tworzenia, testowania i publikowania kompletnego rozszerzenia. Jest to zalecany sposób na nauczenie się, jak je tworzyć.
Po zapoznaniu się z przewodnikiem dla początkujących możesz skorzystać z przewodników dotyczących poszczególnych tematów, które wyjaśniają każde z zadań związanych z tworzeniem własnego rozszerzenia:
- Pisanie funkcji dla rozszerzenia
- Używanie parametrów w rozszerzeniu
- Konfigurowanie odpowiedniego dostępu do rozszerzenia
- Odpowiadanie na zdarzenia cyklu życia rozszerzenia
- Dodawanie do rozszerzenia funkcji wywoływanych przez użytkownika
- Tworzenie dokumentacji użytkownika rozszerzenia
- Publikowanie rozszerzenia w Centrum rozszerzeń
- Pełne informacje o pliku extension.yaml