Przegląd wydawcy rozszerzenia

Rozszerzenie Firebase wykonuje określone zadanie lub zestaw zadań w odpowiedzi na żądania HTTP lub zdarzenia aktywowane przez inne usługi Firebase i Google, takie jak Komunikacja w chmurze Firebase, Cloud Firestore czy 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 np. wykonywać określone działania którego aplikacja regularnie potrzebuje, lub ułatwia dostęp do jednego z do zarządzania interfejsami API w firmie. 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 komponentó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 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 Cloud Functions w języku JavaScript lub TypeScript. Ten kod wykonuje zadania rozszerzenia w reakcji na zdarzenia wywoływane przez usługi Firebase i 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.
  • Pliki PREINSTALL, POSTINSTALLCHANGELOG stanowią minimalną dokumentację, jaką musi zawierać Twoja rozszerzenie. Te pliki pomagają użytkownikom dowiedzieć się, do czego służy Twoje rozszerzenie, jak z niego korzystać i jakie zmiany zostały w nim wprowadzone. Ty powinien też zawierać ikonę, która ułatwi użytkownikom rozpoznanie rozszerzenia. 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 może 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 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?

Aktywatory obsługiwanych funkcji

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:

  • Wyzwalacze HTTP: wdrażanie funkcji w punkcie końcowym HTTP
  • Funkcje do wywołania: możesz wywoływać funkcje Cloud Functions bezpośrednio z kodu klienta na iOS, Androida lub klienta internetowego za pomocą pakietów SDK klienta Firebase.

Dzięki udostępnieniu punktów końcowych 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 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 generuje zdarzenia, które mogą aktywować działanie chmury rozszerzenia Funkcje.

  • Analytics: reguły aktywują działania, gdy Analytics zarejestruje 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: funkcje uruchamiają się, gdy Crashlytics uruchamia alert.
  • 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: 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 uruchamiają się, gdy 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 ustawić 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 funkcje

Po wywołaniu funkcji w Cloud Functions rozszerzenia zakres możliwych integracji jest ogólnie otwarty. 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.
  • Uruchamiać większość bibliotek JavaScript, w tym TensorFlow.js, Express.js itd.

Jak utworzyć rozszerzenie

W samouczku Wprowadzenie znajdziesz informacje o procesie tworzenia, testowania i publikowania rozszerzenia. To najlepszy sposób na naukę tworzenia rozszerzeń.

Pierwsze kroki

Po przeczytaniu przewodnika możesz zapoznać się z poszczególnymi przewodnikami, które wyjaśniają poszczególne zadania związane z tworzeniem własnych rozszerzeń: