Как отправить тихое нажатие на iOS через Google Cloud Messaging
Как отправить тихое push-уведомление в приложение iOS через GCM?
Беззвучное нажатие - это уведомление, которое не будет отображаться в центре уведомлений, но активное приложение для выполнения некоторых действий в фоновом режиме.
Google представляет новые функции в новом GCM с возможностью отправки push-сообщений на Android, Chrome и iOS.
Любая идея, как это сделать?
Ответы
Ответ 1
Используйте атрибут content_available
(not content-available
) следующим образом:
curl -X POST --header "Content-Type:application/json" --header "Authorization:key=AIzaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "https://android.googleapis.com/gcm/send" --data-ascii '{"data":{"xxx":"yyy"},"content_available":true,"to":"XXXXXXXXXX:YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-ZZZZZZZZZZZZZZZZZZZZ"}'
Ответ 2
На вашем сервере вам нужно добавить свойство content-available
со значением 1 в словарь aps
.
Вам необходимо предоставить поддержку этих тихих уведомлений, добавив remote-notification
в UIBackgroundModes
в ваш файл Info.plist. Подробнее здесь.
Ответ 3
Я использую node-gcm npm library, и следующая полезная нагрузка работает для меня для iOS (для Android я отправляю немного другая полезная нагрузка):
{ dryRun: false,
data:
{ customKey1: 'CustomValue1',
customKey2: 'CustomValue2',
content_available: '1',
priority: 'high' },
notification:
{ title: 'My Title',
icon: 'ic_launcher',
body: 'My Body',
sound: 'default',
badge: '2' } }
Конечно, вам нужно будет убедиться, что ваше приложение может обрабатывать входящее уведомление.