所以,我对GCM有疑问。我已将.p12开发和生产APNS证书上传到Google控制台(我已经检查过,它们是同一个名称,包标识符)。我已经设置了我的开发和生产配置文件。我的生产个人资料中有aps-environment
,我可以正常上传到iTunes Connect。我正在使用:
_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
kGGLInstanceIDAPNSServerTypeSandboxOption:@NO};
用于生产。它被设置为NO。对于我的开发,它设置为YES。我已经检查过,我正在获取设备令牌,并将其发送到我的服务器。
推送通知在生产环境中无效。他们只在开发环境中工作。你知道原因是什么吗?
答案 0 :(得分:1)
设置{
"to": "gcm_device_token",
"priority": "high",
"content_available": false,
"notification": {
"sound": "default",
"badge": "1",
"title": "Push Title",
"body": "Push Body"
}
}
_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
kGGLInstanceIDAPNSServerTypeSandboxOption:@NO};
以下是用于生产环境的代码:
_registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken,
kGGLInstanceIDAPNSServerTypeSandboxOption:@YES};
以下是用于开发环境的代码:
public function show($id)
{
$post = Post::find($id);
return view('posts.show', compact('post'));
}