如何通过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' } }
当然,您需要确保您的应用可以处理入站通知。