Wiadomość niezwijalna oznacza, że każda pojedyncza wiadomość jest dostarczana na urządzenie. Wiadomość niezwijalna zawiera przydatne treści. Wiadomość zwijalna, np. „ping” bez treści wysyłany do aplikacji mobilnej w celu skontaktowania się z serwerem i pobrania danych.
Typowe przypadki użycia wiadomości niezwijalnych to wiadomości na czacie lub wiadomości krytyczne. W przypadku Androida można przechowywać maksymalnie 100 wiadomości bez ich zwijania. Po osiągnięciu limitu wszystkie przechowywane wiadomości są odrzucane. Gdy urządzenie ponownie połączy się z internetem, otrzyma specjalną wiadomość informującą o osiągnięciu limitu. Aplikacja może wtedy poradzić sobie z tą sytuacją, zwykle prosząc serwer aplikacji o pełną synchronizację.
Wiadomość zwijalna to wiadomość, która może zostać zastąpiona nową wiadomością, jeśli nie została jeszcze dostarczona na urządzenie.
Typowy przypadek użycia wiadomości zwijalnych: wiadomości używane do informowania aplikacji mobilnej o konieczności zsynchronizowania danych z serwerem. Przykładem może być aplikacja sportowa, która informuje użytkowników o najnowszych wynikach. Tylko najnowsza wiadomość jest istotna.
Aby oznaczyć wiadomość jako zwijalną na Androidzie, dodaj
collapse_key parametr do
ładunku wiadomości. Domyślnie kluczem zwijania jest nazwa pakietu aplikacji
zarejestrowana w konsoli Firebase. Serwer FCM może
jednocześnie przechowywać na
urządzeniu 4 różne wiadomości zwijalne, z których każda ma inny klucz zwijania. Jeśli przekroczysz tę liczbę,
FCM zachowa tylko
4 klucze zwijania, bez określania, które klucze zostaną zachowane.
Wiadomości o temacie bez ładunku są domyślnie zwijalne. Wiadomości z powiadomieniami są zawsze zwijalne i ignorują parametr collapse_key.
Którego mam użyć?
Z punktu widzenia wydajności preferowane są wiadomości zwijalne, pod warunkiem że aplikacja nie musi używać wiadomości niezwijalnych. Jeśli jednak używasz wiadomości zwijalnych, pamiętaj, że FCM pozwala na używanie maksymalnie 4 różnych kluczy zwijania na token rejestracji w danym momencie. FCM
| Scenariusz użycia | Jak wysłać | |
|---|---|---|
| Niezwijalne | Każda wiadomość jest ważna dla aplikacji klienckiej i musi zostać dostarczona. | Z wyjątkiem wiadomości z powiadomieniami wszystkie wiadomości są domyślnie niezwijalne. |
| Zwijalne | Gdy pojawi się nowsza wiadomość, która sprawia, że starsza, powiązana wiadomość jest nieistotna dla aplikacji klienckiej, FCM zastępuje starszą wiadomość. Przykład: nieaktualne wiadomości z powiadomieniami. | Ustaw odpowiedni parametr w prośbie o rozpoczęcie czatu:
|