Несворачиваемое сообщение означает, что каждое сообщение доставляется на устройство отдельно. Несворачиваемое сообщение содержит полезный контент. В то время как сворачиваемое сообщение, например, представляет собой запрос на отправку пинга мобильному приложению без контента для связи с сервером и получения данных.
Типичные примеры использования несворачиваемых сообщений — сообщения чата или критически важные сообщения. Для Android существует ограничение в 100 сообщений, которые можно хранить без сворачивания. При достижении лимита все сохранённые сообщения удаляются. При повторном подключении к сети устройство получает специальное сообщение о достижении лимита. Приложение может решить эту проблему, обычно запросив полную синхронизацию с сервером приложения.
Сворачиваемое сообщение — это сообщение, которое можно заменить новым сообщением, если оно еще не было доставлено на устройство.
Сворачиваемые сообщения часто используются для синхронизации данных с сервером в мобильном приложении. Примером может служить спортивное приложение, которое обновляет пользователям информацию о последних результатах матчей. Релевантным является только самое последнее сообщение.
Чтобы отметить сообщение как сворачиваемое на Android, включите параметр collapse_key
в полезную нагрузку сообщения. По умолчанию ключ сворачивания — это имя пакета приложения, зарегистрированное в консоли Firebase . Сервер FCM может одновременно хранить четыре различных сворачиваемых сообщения на каждом устройстве, каждое с разным ключом сворачивания. При превышении этого количества FCM сохраняет только четыре ключа сворачивания, без какого-либо определяющего фактора, какие именно ключи сохраняются.
Сообщения тем без полезной нагрузки по умолчанию сворачиваются. Сообщения уведомлений всегда сворачиваются и игнорируют параметр collapse_key
.
Какой вариант мне использовать?
Сворачиваемые сообщения являются предпочтительным вариантом с точки зрения производительности, при условии, что вашему приложению не нужно использовать несворачиваемые сообщения. Однако, если вы используете сворачиваемые сообщения, помните, что FCM позволяет использовать не более четырёх различных ключей сворачивания для одного токена FCM одновременно.
Сценарий использования | Как отправить | |
---|---|---|
Неразборный | Каждое сообщение важно для клиентского приложения и должно быть доставлено. | За исключением уведомлений, все сообщения по умолчанию являются несворачиваемыми. |
Складной | Когда появляется новое сообщение, делающее старое связанное сообщение неактуальным для клиентского приложения, FCM заменяет старое сообщение. Например, устаревшие уведомления. | Укажите соответствующий параметр в запросе сообщения:
|