Część serwera Firebase Cloud Messaging składa się z 2 komponentów:
- FCMbackend udostępniany przez Google.
- 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, 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 do backendu prawidłowo sformatowanych żądań wiadomości.FCM
- Możliwość obsługi żądań i ponownego wysyłania ich przy użyciu algorytmu Exponential back-off.
- Możliwość bezpiecznego przechowywania danych logowania do autoryzacji serwera i tokenów rejestracji klienta.
Wymagane dane logowania do projektu Firebase
W zależności od tego, które funkcje FCM wdrożysz, możesz potrzebować tych danych logowania z projektu Firebase:
Dane logowania | Opis |
---|---|
Identyfikator projektu | Unikalny identyfikator Twojego projektu Firebase używany w żądaniach wysyłanych do punktu końcowego HTTP FCM w wersji 1. Ta wartość jest dostępna w panelu Firebase konsoli Ustawienia. |
Token rejestracji | Unikalny ciąg znaków tokena, który identyfikuje każdą instancję aplikacji klienckiej. Token rejestracji jest wymagany w przypadku wysyłania wiadomości na jedno urządzenie i do grupy urządzeń. Pamiętaj, że tokeny rejestracji muszą być przechowywane w tajemnicy. |
Identyfikator nadawcy | Unikalna wartość liczbowa utworzona podczas tworzenia projektu Firebase, dostępna na karcie Cloud Messaging w panelu Ustawienia konsoli Firebase. Identyfikator nadawcy jest taki sam jak numer projektu. Identyfikator nadawcy służy do identyfikowania każdego nadawcy, który może wysyłać wiadomości do aplikacji klienckiej. |
Token dostępu | Krótkotrwały token OAuth 2.0, który autoryzuje żądania do interfejsu HTTP API w wersji 1. Ten token jest powiązany z kontem usługi należącym do Twojego projektu Firebase. Aby utworzyć i obracać tokeny dostępu, wykonaj czynności opisane w artykule Autoryzowanie żądań wysyłania. |
Wybierz opcję serwera
Musisz zdecydować, w jaki sposób chcesz wchodzić w interakcje z serwerami FCM: za pomocą Firebase Admin SDK lub FCMinterfejsu HTTP v1 API. Ze względu na obsługę w popularnych językach programowania oraz wygodne metody obsługi uwierzytelniania i autoryzacji zalecamy korzystanie z Firebase Admin SDK.
Opcje interakcji z serwerami FCM:
Firebase Admin SDK, która obsługuje Node, Javę, Pythona, C# i Go.
FCM HTTP v1 API, interfejs API REST z bezpieczną autoryzacją i elastycznymi możliwościami przesyłania wiadomości na różnych platformach (Firebase Admin SDK opiera się na tym protokole i zapewnia wszystkie jego zalety).
Firebase Admin SDK
Firebase Admin SDK odpowiada za uwierzytelnianie na serwerze 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 na poszczególne urządzenia
- Wysyłanie wiadomości do tematów i instrukcji warunkowych, które pasują do co najmniej jednego tematu
- Wysyłanie wiadomości do grup urządzeń
- Subskrybowanie i anulowanie subskrypcji urządzeń w tematach
- Tworzenie ładunków wiadomości dostosowanych do różnych platform docelowych
Aby skonfigurować Firebase Admin SDK, przeczytaj artykuł Dodawanie Firebase Admin SDK do serwera. Jeśli masz już projekt Firebase, zacznij od sekcji Dodawanie pakietu SDK. Upewnij się też, że interfejs Firebase Cloud Messaging API (wersja 1) jest włączony na stronie ustawień Cloud Messaging w Twoim projekcie. Po zainstalowaniu Firebase Admin SDK możesz zacząć pisać logikę, aby tworzyć żądania wysyłania.
FCM Interfejs HTTP API w wersji 1
FCM udostępnia FCMinterfejs HTTP w wersji 1 dla deweloperów, którzy wolą korzystać z protokołu serwera w formie surowej.
Aby wysłać wiadomość, serwer aplikacji wysyła żądanie POST z nagłówkiem HTTP i treścią HTTP składającą się z par klucz-wartość JSON. Szczegółowe informacje o opcjach nagłówka i treści znajdziesz w artykule Wysyłanie wiadomości za pomocą interfejsu FCM HTTP API w wersji 1.