我必须赶上GCM的通知。 当我的应用处于后台模式时,我没有收到任何通知。但是当它在前景时我可以看到它们。
对于GCM的测试功能我使用它:
curl -X POST -H "Authorization: key= KKKKKKKKKKKK" -H "Content-Type: application/json" -d '{"to":"XXXXXXXXX","data":{"message": "It is special push notification for test!!!"}}' https://gcm-http.googleapis.com/gcm/send
我看到此消息(如果应用处于活动状态)。 但是当我使用它时:
curl -X POST -H "Authorization: key= KKKKKKKKKKK" -H "Content-Type: application/json" -d '{"to":"XXXXXXXX","data":{"message": "It is special push notification for test!!!"},"notification":{"body":"great match!","title":"Portugal vs. Denmark","icon":"myicon"}}' https://gcm-http.googleapis.com/gcm/send
在这种情况下,我不会看到消息。
您知道如何通过GCM发送通知,该通知会在应用关闭时显示吗?
P.S。看起来GCM不适用于APN。
答案 0 :(得分:1)
您需要将优先级参数发送为高,以通知ios设备。
proirity的描述是;
设置消息的优先级。有效值为“正常”和 “高。”在iOS上,这些对应于APN优先级5和10。
默认情况下,邮件以正常优先级发送。正常优先 优化客户端应用程序的电池消耗,应该使用 除非需要立即交货。对于正常的邮件 优先级,应用程序可能会收到未指定延迟的消息。
当邮件以高优先级发送时,会立即发送,并且 该应用程序可以唤醒睡眠设备并打开网络连接 你的服务器。
但我认为这不是一个足够的描述。
我为Java创建了一个library,它的测试用例会在前台,后台或未运行时通知苹果设备。