Несворачиваемые и сворачиваемые сообщения

Несворачиваемое сообщение – это сообщение, которое доставляется на устройство отдельно от других. Несворачиваемое сообщение содержит полезный контент. Сворачиваемые сообщения, например пустые уведомления, отправляются в мобильное приложение, чтобы оно связалось с сервером и получило данные.

Примеры несворачиваемых сообщений – сообщения чата или критически важные сообщения. На устройствах Android можно хранить до 100 сообщений без свертывания. Если лимит достигнут, все сохраненные сообщения удаляются. Когда устройство снова подключится к интернету, на него придет специальное сообщение о том, что лимит исчерпан. В этом случае приложение обычно запрашивает полную синхронизацию с сервером.

Сворачиваемое сообщение – это сообщение, которое может быть заменено новым, если оно ещё не доставлено на устройство.

Распространенный пример использования сворачиваемых сообщений – сообщения, которые используются для того, чтобы сообщить мобильному приложению о необходимости синхронизировать данные с сервера. Например, спортивное приложение может сообщать пользователям о текущем счете. Актуально только последнее сообщение.

Чтобы пометить сообщение как сворачиваемое на Android, включите параметр collapse_key в полезную нагрузку сообщения. По умолчанию в качестве ключа свертывания используется название пакета приложения, зарегистрированное в консоли Firebase. Сервер FCM может одновременно хранить четыре разных сворачиваемых сообщения для каждого устройства, каждое с разным ключом сворачивания. Если вы превысите это число, FCM сохранит только четыре ключа свертывания, причем выбор будет случайным.

Сообщения темы без полезной нагрузки по умолчанию являются сворачиваемыми. Уведомления всегда сворачиваются, и параметр collapse_key игнорируется.

Что выбрать?

С точки зрения производительности сворачиваемые сообщения предпочтительнее, если только вашему приложению не требуются несворачиваемые. Однако если вы используете сворачиваемые сообщения, помните, что FCM позволяет FCM использовать не более четырех разных ключей сворачивания на токен регистрации в любой момент времени.

Использовать сценарий Как отправить
Несворачиваемое Каждое сообщение важно для клиентского приложения и должно быть доставлено. По умолчанию все сообщения, кроме уведомлений, не сворачиваются.
сворачиваемое; Если новое сообщение делает старое неактуальным для клиентского приложения, FCM заменяет старое сообщение. Например, это могут быть устаревшие уведомления. Укажите в запросе сообщения нужный параметр: