How to send silent push to iOS via Google Cloud Messaging

狂风中的少年 提交于 2019-11-30 17:46:26

Use the content_available (not content-available) attribute like this:

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"}'

From your server, you'll need to add the content-available property with a value of 1 to your aps dictionary.

You'll need to provide support for these silent notifications by adding remote-notification to UIBackgroundModes in your Info.plist file. More details here.

I'm using the node-gcm npm library and the following payload works for me for iOS (for Android I'm sending a slightly different payload):

{ 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' } }

Of course you'll need to ensure that your app can handle the inbound notification.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!