Środowisko serwera i FCM

Komunikacja w chmurze Firebase (FCM) po stronie serwera składa się z 2 komponentów:

  • backend FCM udostępniony przez Google.
  • Twój 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, a następnie kieruje je do aplikacji klienckich działających na urządzeniach użytkowników.

Wymagania dotyczące zaufanego środowiska serwera

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

  • Możliwość wysyłania poprawnie sformatowanych żądań wiadomości do backendu FCM.
  • Może obsługiwać żądania i wysyłać je ponownie z wykorzystaniem wykładniczego ponawiania.
  • Możliwość bezpiecznego przechowywania danych uwierzytelniających serwera i tokenów rejestracji klientów.

Wybieranie opcji serwera

Musisz wybrać sposób interakcji z serwerami FCM: za pomocą pakietu SDK Firebase Admin lub nieprzetworzonego protokołu. Pakiet Firebase Admin SDK jest zalecaną metodą ze względu na obsługę popularnych języków programowania oraz wygodne metody uwierzytelniania i autoryzacji.

Opcje interakcji z serwerami FCM:

Pakiet SDK Firebase Admin dla FCM

Interfejs Admin FCM API obsługuje uwierzytelnianie z backendem i ułatwia wysyłanie wiadomości oraz zarządzanie subskrypcjami tematów. Pakiet Firebase Admin SDK umożliwia:

  • Wysyłanie wiadomości na poszczególne urządzenia
  • Wysyłaj wiadomości na tematy i oświadczenia dotyczące warunków pasujące do co najmniej jednego tematu.
  • Subskrybowanie tematów i anulowanie subskrypcji urządzeń
  • Konstruowanie ładunków komunikatów dostosowanych do różnych platform docelowych

Pakiet Admin Node.js SDK udostępnia metody wysyłania wiadomości do grup urządzeń.

Informacje o konfigurowaniu pakietu Firebase Admin SDK znajdziesz w artykule Dodawanie pakietu Firebase Admin SDK do serwera. Jeśli masz już projekt Firebase, zacznij od dodania pakietu SDK. Pamiętaj też, aby włączyć interfejs Cloud Messaging API w swoim projekcie na stronie ustawień Komunikacji w chmurze. Następnie, gdy zainstalujesz pakiet SDK Firebase Admin SDK, możesz zacząć tworzyć logikę pozwalającą tworzyć żądania wysyłania.

Protokół serwera FCM

FCM udostępnia interfejs API FCM HTTP w wersji 1 przeznaczony dla programistów, którzy wolą korzystać z protokołu serwera RAW.

Aby wysłać wiadomość, serwer aplikacji wysyła żądanie POST z nagłówkiem HTTP i treścią HTTP zawierającą pary klucz-wartość JSON. Szczegółowe informacje o opcjach nagłówka i treści znajdziesz w artykule o tworzeniu żądań wysyłania do serwera aplikacji.