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

Несворачиваемое сообщение означает, что каждое отдельное сообщение доставляется на устройство. Несворачиваемое сообщение содержит полезный контент. В то время как сворачиваемое сообщение — это, например, «пинг» без содержимого для мобильного приложения, чтобы связаться с сервером и получить данные.

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

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

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

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

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

Какой из них мне следует использовать?

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

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