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