如何通过Google云消息发送静默推送到iOS

如何通过GCM向iOS应用程序发送静默推送通知?

无声推送是不会在通知中心出现的通知,而是唤醒应用程序在后台做一些动作。 Google在新的GCM中引入了新function,可以将推送消息发送到Android,Chrome和iOS。

任何想法,如何做到这一点?

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

在您的服务器上,您需要将值为1的content-available属性添加到您的aps字典中。

您需要通过向Info.plist文件中的UIBackgroundModes添加remote-notification来为这些静默通知提供支持。 更多细节在这里 。

我正在使用node-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' } } 

当然,您需要确保您的应用可以处理入站通知。