我正在尝试使用GCM向我的iOS应用程序发送推送通知。当应用程序处于后台时,它无法接收到通知,但当其在前台运行时可以接收到通知。我还通过一个PHP脚本来测试推送通知,该脚本直接将消息发送到APNS,即使在后台也能正常工作。
发送给GCM的JSON数据:(我正在使用REST客户端进行测试)
{
"to" : "token...",
"notification" : {
"title": "GCM TITLE",
"body" : "FROM GCM",
"badge": "1",
"sound": "default"
}
}
不起作用:在didReceiveRemoteNotification:中接收到的来自GCM的userInfo。Notification received: [aps: {
alert = {
body = "FROM GCM";
title = "GCM TILE";
};
badge = 1;
sound = default;
}, gcm.message_id: 123...]
工作中:当从PHP脚本发送时收到的userInfo(我还将message_id添加到JSON中以查看是否存在问题)
Notification received: [aps: {
alert = {
body = "FROM PHP";
title = "PHP TITLE";
};
badge = 2;
sound = default;
}, gcm.message_id: 123...]
我尝试使用不同的组合将content_available添加到JSON中,但没有帮助,同时设置了Content-Type和Authorization请求头:
Content-Type:application/json
Authorization:key=...