Wiadomość niezwijana oznacza, że każda wiadomość jest dostarczana na urządzenie. Wiadomość niezwijana zawiera przydatne treści. Wiadomość zwijana, np. „ping” bez treści, wysyłana do aplikacji mobilnej, aby połączyła się z serwerem i pobrała dane.
Typowe przypadki użycia wiadomości nieskładanych to wiadomości na czacie lub wiadomości o charakterze krytycznym. W przypadku Androida limit wiadomości, które można przechowywać bez zwijania, wynosi 100. Jeśli limit zostanie osiągnięty, wszystkie przechowywane wiadomości zostaną odrzucone. Gdy urządzenie ponownie połączy się z internetem, otrzyma specjalną wiadomość z informacją, że limit został osiągnięty. Aplikacja może wtedy obsłużyć tę sytuację, zwykle żądając pełnej synchronizacji z serwerem aplikacji.
Wiadomość zwijana to wiadomość, która może zostać zastąpiona nową wiadomością, jeśli nie została jeszcze dostarczona na urządzenie.
Typowym przypadkiem użycia wiadomości zwijanych są wiadomości, które informują aplikację mobilną 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 zwijaną na Androidzie, dodaj parametr collapse_key do ładunku wiadomości. Domyślnie klucz zwijania to nazwa pakietu aplikacji zarejestrowana w konsoli Firebase. Serwer FCM może jednocześnie przechowywać 4 różne wiadomości zwijane na urządzenie, każdą z innym kluczem zwijania. Jeśli przekroczysz tę liczbę, FCM zachowa tylko 4 klucze zwijania, przy czym nie ma żadnego czynnika decydującego o tym, które klucze zostaną zachowane.
Wiadomości dotyczące tematów bez ładunku są domyślnie zwijane. Wiadomości z powiadomieniem są zawsze zwijane i ignorują parametr collapse_key.
Którego z nich mam użyć?
Wiadomości zwijane są preferowaną opcją z punktu widzenia wydajności, o ile aplikacja nie musi używać wiadomości niezwijanych. Jeśli jednak używasz wiadomości zwijanych, pamiętaj, że FCM zezwala na używanie maksymalnie 4 różnych kluczy zwijania przez FCM na token rejestracji w danym momencie.
| Scenariusz użycia | Jak wysłać | |
|---|---|---|
| Niezamykana | Każda wiadomość jest ważna dla aplikacji klienckiej i musi zostać dostarczona. | Z wyjątkiem powiadomień wszystkie wiadomości są domyślnie niezwijalne. |
| Zwijana | Gdy pojawi się nowsza wiadomość, która sprawia, że starsza, powiązana wiadomość staje się nieistotna dla aplikacji klienckiej, FCM zastępuje starszą wiadomość. Na przykład: nieaktualne powiadomienia. | Ustaw odpowiedni parametr w żądaniu wiadomości:
|