Za pomocą FCM możesz wysyłać do aplikacji klienckich 2 rodzaje wiadomości:
- Wiadomości z powiadomieniami, podobnie jak „wiadomości wyświetlane”, są obsługiwane automatycznie przez pakiet SDK FCM.
- Wiadomości z danymi, które są obsługiwane przez aplikację kliencką.
Wiadomości z powiadomieniami zawierają wstępnie zdefiniowany zestaw kluczy widocznych dla użytkownika i mogą zawierać opcjonalny ładunek danych. Wiadomości z danymi zawierają natomiast tylko zdefiniowane przez Ciebie niestandardowe pary klucz-wartość. Maksymalny rozmiar ładunku w przypadku obu typów wiadomości to 4096 bajtów, z wyjątkiem wysyłania wiadomości z konsoli Firebase, w której obowiązuje limit 1000 znaków.
Scenariusz użycia | Jak wysłać | |
---|---|---|
Treść powiadomienia | FCM Pakiet SDK wyświetla wiadomość na urządzeniach użytkowników w imieniu aplikacji klienckiej, gdy działa ona w tle. W przeciwnym razie, jeśli aplikacja działa na pierwszym planie w momencie otrzymania powiadomienia, jej kod określa zachowanie. |
|
Wiadomość z danymi | Za przetwarzanie wiadomości z danymi odpowiada aplikacja klienta. Wiadomości z danymi zawierają tylko niestandardowe pary klucz-wartość bez zarezerwowanych nazw kluczy (patrz poniżej). | W zaufanym środowisku, np.
Cloud Functions
lub na serwerze aplikacji, używaj interfejsu
Firebase Admin SDK lub interfejsu HTTP v1 API.
W żądaniu wysyłania ustaw klucz data .
|
Wiadomości z powiadomieniami możesz używać, gdy chcesz, aby pakiet SDK FCM automatycznie wyświetlał powiadomienie, gdy aplikacja działa w tle. FCM może wysłać wiadomość z powiadomieniem z opcjonalnym ładunkiem danych. W takich przypadkach FCM wyświetla ładunek powiadomienia, a aplikacja kliencka obsługuje ładunek danych.
Wiadomości z danymi możesz używać, gdy chcesz przetwarzać wiadomości za pomocą własnego kodu aplikacji klienckiej.
Wiadomości z powiadomieniami
Wiadomości z powiadomieniami możesz wysyłać za pomocą Firebasekonsoli, Firebase Admin SDK lub interfejsu FCM HTTP v1 API. Firebase Konsola udostępnia testy A/B oparte na analizach, które pomagają udoskonalać i ulepszać wiadomości z powiadomieniami.
Aby wysyłać wiadomości z powiadomieniami za pomocą interfejsu Firebase Admin SDK lub FCMHTTP v1 API, ustaw klucz notification
z wstępnie zdefiniowanym zestawem opcji klucz-wartość wiadomości z powiadomieniem. Poniższy przykład pokazuje, jak sformatować wiadomość z powiadomieniem w aplikacji do obsługi komunikatorów.
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
Gdy aplikacja działa w tle, wiadomości z powiadomieniami są dostarczane do obszaru powiadomień. W przypadku aplikacji działających na pierwszym planie wiadomości są obsługiwane przez funkcję wywołania zwrotnego.
Pełną listę wstępnie zdefiniowanych kluczy dostępnych do tworzenia wiadomości z powiadomieniami znajdziesz w dokumentacji referencyjnej obiektu powiadomienia interfejsu FCM HTTP v1 API.
Wiadomości z danymi
To Ty decydujesz, jak użyjesz ładunku FCM data
do wdrożenia wybranego schematu szyfrowania. Upewnij się, że w niestandardowych parach klucz-wartość nie używasz żadnych słów zastrzeżonych. Zarezerwowane słowa to m.in. from
, message_type
i każde słowo zaczynające się od google.
, gcm.
lub gcm.notification.
.
W przykładzie poniżej pokazano użycie pola danych najwyższego poziomu, czyli pola danych wspólnych, które jest interpretowane przez klientów na wszystkich platformach otrzymujących wiadomość. Na każdej platformie aplikacja kliencka otrzymuje ładunek danych w funkcji wywołania zwrotnego.
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}