Środowisko serwera i FCM

Po stronie serwera usługa Firebase Cloud Messaging składa się z 2 komponentów:

  • FCM backend udostępniany przez Google.
  • serwer aplikacji lub inne zaufane środowisko serwera, w którym działa logika serwera, na przykład 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.

Wymagania dotyczące zaufanego środowiska serwera

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

  • Umożliwia wysyłanie poprawnie sformatowanych żądań wiadomości do backendu FCM.
  • Umiejętność obsługi żądań i ich ponownego wysyłania za pomocą algorytmu Exponential back-off.
  • Umożliwianie bezpiecznego przechowywania danych logowania na serwerze i tokenów rejestracji klienta.

Wybieranie opcji serwera

Musisz zdecydować, jak chcesz wchodzić w interakcję z serwerami FCM: za pomocą Firebase Admin SDK lub protokołu nieprzetworzonego. Ze względu na obsługę w popularnych językach programowania oraz wygodne metody obsługi uwierzytelniania i autoryzacji zalecamy użycie Firebase Admin SDK.

Opcje interakcji z serwerami FCM:

Firebase Admin SDK dla projektu FCM

Interfejs FCM API dla administratora obsługuje uwierzytelnianie na poziomie backendu 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 urządzeń
  • Wysyłanie wiadomości do tematów i zdań zawierających warunki, które pasują do co najmniej 1 tematu.
  • Subskrybowanie i anulowanie subskrypcji tematów przez urządzenia
  • tworzyć ładunki wiadomości dostosowane do różnych platform docelowych.

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

Aby skonfigurować Firebase Admin SDK, zapoznaj się z artykułem Dodawanie 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 na stronie ustawień Cloud Messaging w projekcie. Następnie, gdy usługa Firebase Admin SDK zostanie zainstalowana, możesz zacząć pisać kod, który będzie wysyłać żądania.

FCM protokół serwera

FCM udostępnia FCM interfejs API HTTP w wersji 1 programistom, którzy wolą nieprzetworzony protokół serwera.

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