środowisko serwera i FCM,
Serwerowa część usługi 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 for 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 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.
- Umożliwia bezpieczne przechowywanie danych logowania serwera i tokenów rejestracji klienta.
Wybieranie opcji serwera
Musisz zdecydować, jak chcesz wchodzić w interakcje z serwerami FCM: za pomocą Firebase Admin SDK lub protokołu w postaci surowych danych. Ze względu na obsługę w popularnych językach programowania i wygodne metody obsługi uwierzytelniania i autoryzacji zalecamy użycie Firebase Admin SDK.
Opcje interakcji z serwerami FCM:
- Firebase Admin SDK, który obsługuje Node, Java, Python, C# i Go.
- FCM interfejs API HTTP v1, czyli interfejs API REST z bezpieczną autoryzacją i elastycznymi możliwościami przesyłania wiadomości na różnych platformach (interfejs 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. Dzięki Firebase Admin SDK możesz:
- Wysyłanie wiadomości na poszczególne urządzenia
- Wysyłanie wiadomości do tematów i warunków pasujących do co najmniej 1 tematu.
- Subskrybowanie i anulowanie subskrypcji tematów przez urządzenia
- tworzenie ładunków wiadomości dostosowanych 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 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.