Środowisko serwera i FCM

Strona serwera Firebase Cloud Messaging składa się z 2 komponentów:

  • Backend FCM udostępniany przez Google.
  • Serwer aplikacji lub inne zaufane środowisko serwerowe, 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
  • Token rejestracji FCM
  • 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ę ze wstępnie zdefiniowanych pól, ładunkiem danych z własnych pól zdefiniowanych przez użytkownika lub wiadomości zawierające oba typy ładunku. 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 prawidłowo sformatowanych żądań wiadomości do backendu FCM.
  • obsługiwać żądania i ponownie je wysyłać, korzystając z algorytmu Exponential back-off;
  • możliwość bezpiecznego przechowywania danych uwierzytelniających serwera i tokenów rejestracji klienta;

Wymagane dane logowania do projektu w Firebase

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

Dane logowania Opis
Identyfikator projektu Unikalny identyfikator projektu w Firebase używany w żądaniach do punktu końcowego HTTP FCM w wersji 1. Ta wartość jest dostępna w panelu Ustawienia w konsoli Firebase.
Token rejestracji Unikalny ciąg znaków tokena, który identyfikuje każdą instancję aplikacji klienckiej. Token rejestracji jest wymagany w przypadku wiadomości wysyłanych do pojedynczej instancji aplikacji i grupy urządzeń. Pamiętaj, że tokeny rejestracji muszą być tajne.
Identyfikator nadawcy Unikalna wartość liczbowa tworzona podczas tworzenia projektu w Firebase, dostępna na karcie Cloud Messaging w panelu Ustawienia konsoli Firebase. 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 do interfejsu HTTP v1 API. Ten token jest powiązany z kontem usługi, które należy do Twojego projektu w Firebase. Aby utworzyć i zmienić tokeny dostępu, wykonaj czynności opisane w artykule Autoryzowanie żądań wysyłania.

Wybieranie opcji serwera

Musisz wybrać sposób interakcji z serwerami FCM: za pomocą Firebase Admin SDK lub FCM HTTP v1 API. Zalecaną metodą jest Firebase Admin SDK, ponieważ obsługuje popularne języki programowania i zawiera wygodne metody obsługi uwierzytelniania i autoryzacji.

Dostępne są te opcje interakcji z serwerami FCM:

Firebase Admin SDK

Firebase Admin SDK obsługuje uwierzytelnianie w backendzie i ułatwia wysyłanie wiadomości oraz zarządzanie subskrypcjami tematów. Dzięki 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 jednego tematu
  • Wysyłanie wiadomości do grup urządzeń
  • Subskrybowanie tematów przez instancje aplikacji i rezygnowanie z subskrypcji
  • tworzyć ładunki wiadomości dostosowane 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. Pamiętaj też, aby na stronie ustawień Komunikacji w chmurze włączyć interfejs Firebase Cloud Messaging API (V1) dla swojego projektu. Po zainstalowaniu Firebase Admin SDK możesz zacząć pisać logikę, aby tworzyć żądania wysyłania.

Interfejs API FCM HTTP v1

FCM udostępnia interfejs FCM HTTP v1 API dla deweloperów, którzy wolą nieprzetworzony protokół serwera.

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.