Обмен сообщениями в Firebase - что такое "content_available": правда
Я видел много примеров, как
{
"to" : "egu9jGiMcew:APA91bFv2Rewdz.....KZZmEURvbq-aA2",
"data": {
"id": 19,
"title": "Title test",
"msg": "Text of the test",
"code": 2,
"infosUrl": "ttp://www.secondguide.tours",
"longitude": 5.5,
"latitude": 44.5,
"eventLocation": "nowhere",
"startDate": "24/07/2016",
"endDate": "25/07/2016",
},
"delay_while_idle" : false,
"priority" : "high",
"content_available" : true
}
Я не получил цель
"delay_while_idle" : false,
"priority" : "high",
"content_available" : true
в этом, кто-нибудь может объяснить?
1 ответ
Если вы сначала проверили официальную документацию, вы увидите соответствующее описание:
content_available
- В iOS используйте это поле для представления содержимого, доступного в полезной нагрузке APN. Когда отправляется уведомление или сообщение, и для него установлено значение true, неактивное клиентское приложение пробуждается, и сообщение отправляется через APN в виде тихого уведомления, а не через сервер соединений FCM. Обратите внимание, что тихие уведомления в APN не гарантированно доставляются и могут зависеть от таких факторов, как включение пользователем режима пониженного энергопотребления, принудительное завершение работы приложения и т. Д. В Android сообщения данных по умолчанию пробуждают приложение по умолчанию. На Chrome в настоящее время не поддерживается.
Заголовок вашего поста спрашивает только о content_available
, но только чтобы покрыть два других, priority
(также из документов):
Устанавливает приоритет сообщения. Допустимые значения: "нормальный" и "высокий". На iOS они соответствуют приоритетам APN 5 и 10.
По умолчанию уведомления отправляются с высоким приоритетом, а сообщения с данными отправляются с обычным приоритетом. Обычный приоритет оптимизирует потребление батареи клиентским приложением и должен использоваться, если не требуется немедленная доставка. Для сообщений с нормальным приоритетом приложение может получить сообщение с неопределенной задержкой.
Когда сообщение отправляется с высоким приоритетом, оно отправляется немедленно, и приложение может отображать уведомление.
delay_while_idle
давно устарел, поэтому я не стал бы беспокоиться о его поведении.