Ś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 Firebase Admin SDK, który obsługuje języki Node, Java, Python, C# i Go.
- Interfejs API FCM HTTP w wersji 1 to interfejs API typu REST z bezpieczną autoryzacją i elastycznymi funkcjami przesyłania wiadomości na wielu platformach (pakiet SDK Firebase Admin opiera się na tym protokole i zapewnia wszystkie jego nieodłączne zalety).
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.