Подтвердить что ты не робот

Как отправить тихое нажатие на iOS через Google Cloud Messaging

Как отправить тихое push-уведомление в приложение iOS через GCM?

Беззвучное нажатие - это уведомление, которое не будет отображаться в центре уведомлений, но активное приложение для выполнения некоторых действий в фоновом режиме. Google представляет новые функции в новом GCM с возможностью отправки push-сообщений на Android, Chrome и iOS.

Любая идея, как это сделать?

4b9b3361

Ответ 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' } }

Конечно, вам нужно будет убедиться, что ваше приложение может обрабатывать входящее уведомление.