Środowisko serwera i FCM

Po stronie serwera Firebase Cloud Messaging ma 2 komponenty:

  • FCMbackend udostępniany przez Google.
  • Serwer aplikacji lub inne zaufane środowisko serwera, w którym działa logika serwera, np. Cloud Functions dla Firebase lub inne środowiska chmurowe zarządzane przez Google.

Serwer aplikacji lub zaufane środowisko serwera wysyła żądania wiadomości do backendu FCM, który następnie kieruje wiadomości do aplikacji klienckich działających na urządzeniach użytkowników.

Korzystając z protokołów serwera aplikacji Firebase Admin SDK lub FCM, możesz tworzyć żądania wiadomości i wysyłać je do tych typów miejsc docelowych:

  • Nazwa tematu
  • Warunek
  • FCM token rejestracji
  • Nazwa grupy urządzeń (wycofana, zostanie usunięta 29 września 2027 r.)

Możesz wysyłać wiadomości z ładunkiem powiadomienia składającym się z wstępnie zdefiniowanych pól, ładunkiem danych zawierającym zdefiniowane przez Ciebie pola lub wiadomości zawierające oba rodzaje ładunków. Więcej informacji znajdziesz w sekcji Typy wiadomości.

Wymagania dotyczące zaufanego środowiska serwera

Środowisko serwera aplikacji musi spełniać te kryteria:

  • Możliwość wysyłania do FCM backendu prawidłowo sformatowanych próśb o rozpoczęcie czatu.
  • Możliwość obsługi żądań i ponownego wysyłania ich przy użyciu algorytmu Exponential back-off.
  • Możliwość bezpiecznego przechowywania danych logowania do autoryzacji serwera i tokenów rejestracji klienta.

Wymagane dane logowania do projektu w Firebase

W zależności od tego, które funkcje FCM wdrożysz, możesz potrzebować tych danych logowania z projektu Firebase:

Dane logowania Opis
Identyfikator projektu Unikalny identyfikator projektu w Firebase używany w żądaniach wysyłanych do FCM punktu końcowego HTTP w wersji 1. Ta wartość jest dostępna w panelu Firebase konsoli Ustawienia.
Token rejestracji Unikalny ciąg znaków tokena, który identyfikuje każdą instancję aplikacji klienckiej. Token rejestracji jest wymagany w przypadku wiadomości do pojedynczej instancji aplikacji i do grupy urządzeń. Pamiętaj, że tokeny rejestracji muszą być utrzymywane w tajemnicy.
Identyfikator nadawcy Unikalna wartość liczbowa tworzona podczas tworzenia projektu w Firebase. Jest dostępna na karcieCloud Messaging w panelu Firebase konsoli Ustawienia. Identyfikator nadawcy jest taki sam jak numer projektu. Identyfikator nadawcy służy do identyfikowania każdego nadawcy, który może wysyłać wiadomości do aplikacji klienckiej.
Token dostępu Krótkotrwały token OAuth 2.0, który autoryzuje żądania wysyłane do interfejsu HTTP v1 API. Ten token jest powiązany z kontem usługi należącym do Twojego projektu w Firebase. Aby utworzyć i obracać tokeny dostępu, wykonaj czynności opisane w sekcji Autoryzowanie wysyłania żądań.

Wybieranie opcji serwera

Musisz zdecydować, w jaki sposób chcesz wchodzić w interakcję z serwerami FCM: za pomocą Firebase Admin SDK lub FCMinterfejsu HTTP API w wersji 1. Ze względu na obsługę w popularnych językach programowania i wygodne metody obsługi uwierzytelniania i autoryzacji zalecaną metodą jest Firebase Admin SDK.

Opcje interakcji z serwerami FCM obejmują:

Firebase Admin SDK

Firebase Admin SDK obsługuje uwierzytelnianie w backendzie oraz ułatwia wysyłanie wiadomości i zarządzanie subskrypcjami tematów. Za pomocą Firebase Admin SDK możesz:

  • Wysyłanie wiadomości do poszczególnych instancji aplikacji
  • Wysyłanie wiadomości do tematów i instrukcji warunkowych, które pasują do co najmniej 1 tematu
  • Wysyłanie wiadomości do grup urządzeń
  • Subskrybowanie instancji aplikacji i rezygnowanie z subskrypcji tematów
  • Tworzenie ładunków wiadomości dostosowanych do różnych platform docelowych

Aby skonfigurować Firebase Admin SDK, przeczytaj artykuł Dodawanie Firebase Admin SDK do serwera. Jeśli masz już projekt w Firebase, zacznij od sekcji Dodawanie pakietu SDK. Upewnij się też, że w ustawieniach Komunikacji w chmurze w Twoim projekcie włączony jest interfejs Firebase Cloud Messaging API (wersja 1). Po zainstalowaniu Firebase Admin SDK możesz zacząć pisać logikę, aby tworzyć żądania wysyłania.

FCM Interfejs HTTP API w wersji 1

FCM udostępnia FCMinterfejs HTTP API w wersji 1 dla deweloperów, którzy wolą korzystać z protokołu serwera w formacie surowym.

Aby wysłać wiadomość, serwer aplikacji wysyła żądanie POST z nagłówkiem HTTP i treścią HTTP składającą się z par klucz-wartość JSON. Szczegółowe informacje o opcjach nagłówka i treści znajdziesz w artykule Wysyłanie wiadomości za pomocą interfejsu FCM HTTP v1 API.