Niezwijalna wiadomość oznacza, że każda pojedyncza wiadomość jest dostarczana na urządzenie. Niezwijana wiadomość zawiera przydatne treści. Może to być zwinięta wiadomość, 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, których nie można zwinąć, to wiadomości na czacie lub wiadomości krytyczne. W przypadku Androida można przechowywać bez zwijania maksymalnie 100 wiadomości. Jeśli limit zostanie osiągnięty, wszystkie zapisane 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 poradzić sobie z tą sytuacją, zwykle wysyłając do serwera aplikacji żądanie pełnej synchronizacji.
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 zwijalnych wiadomości: 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 urządzeniach z Androidem, w ładunku wiadomości umieść parametr
collapse_key. Domyślnie kluczem zwijania jest nazwa pakietu aplikacji zarejestrowanej w konsoli Firebase. Serwer FCM może jednocześnie przechowywać 4 różne zwijalne wiadomości na urządzenie, z których każda ma inny klucz zwijania. Jeśli przekroczysz tę liczbę, usługaFCM zachowa tylko 4 klucze zwijania, bez określania, które z nich zostaną zachowane.
Wiadomości dotyczące tematu bez ładunku są domyślnie zwijalne. Wiadomości z powiadomieniami
zawsze można zwinąć i ignorują one parametr collapse_key.
Którego mam użyć?
Z punktu widzenia wydajności preferowane są zwijalne wiadomości, o ile aplikacja nie musi używać wiadomości niezawijalnych. Jeśli jednak używasz zwijalnych wiadomości, 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ć | |
|---|---|---|
| Nie można zwinąć | 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 nierozwijane. |
| Zwijana | Gdy pojawi się nowsza wiadomość, która sprawia, że starsza, powiązana z nią wiadomość staje się nieistotna dla aplikacji klienta, FCM zastępuje starszą wiadomość. Na przykład: przestarzałe wiadomości z powiadomieniami. | Ustaw odpowiedni parametr w żądaniu wiadomości:
|