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