Niezwijalna wiadomość oznacza, że każda pojedyncza wiadomość jest dostarczana na urządzenie. Niezwijalna wiadomość 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, 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.
Typowym przypadkiem użycia zwijalnych wiadomości są wiadomości służące 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. FCM serwer 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:
|