Środowisko serwera i FCM
Po stronie serwera Firebase Cloud Messaging składa się z 2 komponentów:
- FCM backend zapewniany przez Google.
- serwer aplikacji lub inne zaufane środowisko serwera, w którym działa logika serwera, takie jak 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:
- Możliwość wysyłania prawidłowo sformatowanych żądań wiadomości do backendu FCM.
- Umiejętność obsługi żądań i ich ponownego wysyłania za pomocą algorytmu Exponential back-off.
- Możliwość bezpiecznego przechowywania danych uwierzytelniających serwera i tokenów rejestracji klientów.
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 metody Firebase Admin SDK.
Opcje interakcji z serwerami FCM:
- Firebase Admin SDK, który obsługuje języki Node, Java, Python, C# i Go.
- FCM interfejs API HTTP w wersji 1, interfejs API REST z bezpieczną autoryzacją i elastycznymi możliwościami przesyłania wiadomości na różnych platformach (interfejs API Firebase Admin SDK opiera się na tym protokole i zapewnia wszystkie jego zalety).
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. Firebase Admin SDK umożliwia:
- Wysyłanie wiadomości do poszczególnych urządzeń
- Wysyłaj wiadomości na tematy i oświadczenia dotyczące warunków pasujące do co najmniej jednego tematu.
- Subskrybowanie i anulowanie subskrypcji tematów przez urządzenia
- tworzyć ładunki wiadomości dostosowane do różnych docelowych platform;
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 w swoim projekcie na stronie ustawień Komunikacji w chmurze. Następnie po zainstalowaniu obiektu Firebase Admin SDK możesz zacząć pisać logikę, aby tworzyć żądania wysyłania.
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.