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

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

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

есть идеи, как это сделать?

3 ответов


использовать content_available (не 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"}'

С вашего сервера, вам необходимо добавить content-available свойство со значением 1 к вашему aps словарь.

вам нужно будет обеспечить поддержку этих тихих уведомлений, добавив remote-notification to UIBackgroundModes в вашей информации.plist файл. Подробнее здесь.


Я использую узел-gcm библиотека npm и Следующая полезная нагрузка работают для меня для 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' } }

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