我正在开发一个从PHP服务器接收推送通知的iPhone应用程序。
使用Google Cloud Messaging发送通知。 GCM在iPhone开发环境中运行良好,但我无法通过iPhone生产环境接收通知。我一直收到错误消息:
{
"multicast_id":7214972633373567187,
"success":0,
"failure":1,
"canonical_ids":0,
"results":[
{
"error":"NotRegistered"
}
]
}
我尝试了很多,也搜索了很多,但没有找到任何解决方案来解决这个问题。请帮帮我。
我创建了.p12
个生产环境证书,并将其上传到Google Cloud Messaging配置文件。
答案 0 :(得分:10)
最后我找到了解决方案。现在使用GCM(Google Cloud Messaging)我可以向iPhone设备发送通知。
在appDelegate.m
中只需要在applicationDidBecomeActive
方法中更改一个条件。
以下是用于生产环境的代码:
_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
kGGLInstanceIDAPNSServerTypeSandboxOption:@NO};
以下是用于开发环境的代码:
_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
kGGLInstanceIDAPNSServerTypeSandboxOption:@YES};
答案 1 :(得分:2)
设置"priority": "high"
{
"to": "gcm_device_token",
"priority": "high",
"content_available": false,
"notification": {
"sound": "default",
"badge": "1",
"title": "Push Title",
"body": "Push Body"
}
}
以下是用于生产环境的代码: appDelegate.m
_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
kGGLInstanceIDAPNSServerTypeSandboxOption:@NO};
以下是用于开发环境的代码: appDelegate.m
_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
kGGLInstanceIDAPNSServerTypeSandboxOption:@YES};
答案 2 :(得分:1)
要使用iPhone push notifications in Production
环境,您需要遵循以下几点:
.cer
.p12
和production profile
iTunes store
。binary
下载iTunes store
时,