推送通知在开发中工作正常,但设备在生产中没有收到通知

Posted

技术标签:

【中文标题】推送通知在开发中工作正常,但设备在生产中没有收到通知【英文标题】:Push notifications works fine in development, but device not getting notification in production 【发布时间】:2016-09-09 13:19:33 【问题描述】:

好的,所以我在应用商店中有一个应用。在开发中一切正常,我收到了我发送的所有通知。我应该提到我们正在使用 Firebase 进行分析和推送通知,因为我们有 iosandroid 版本的应用程序。 Firebase 帐户具有正确的开发和正确的生产 apns 证书,应用程序的功能设置正确,包括后台推送通知和远程通知。

在管理器窗口中,每当上传到应用商店或导出应用时,apns-environement 的权利都会设置为生产。每当首次安装应用程序并运行允许推送通知的警报时都会显示。所以我的 apns 证书必须正确配置。 我是这家公司的合同工,三个月前才开始工作,我讨厌这些人用不好的眼光看我,但我真的不知道问题出在哪里。我也在使用 Xcode 的自动代码签名选项,在这台 Mac 上的 Xcode 中登录了正确的配置文件和开发者帐户。

【问题讨论】:

第一件事是我们不能肯定地说这是问题所在,但根据我的经验,这是生成生产 apns 证书的错误方式或使用自动代码签名配置应用程序的问题。跨度> 生产 apns 证书的生成如何以错误的方式完成?我检查了上传到应用商店时使用的分发证书,并且钥匙串是正确的。 【参考方案1】:

刚刚经历了这个,不知道你解决了没有,

我关闭了推送并从苹果开发中心删除了证书并重新创建了它们,这使得一切正常运行。

我也将这行代码设置为,

FIRInstanceID.instanceID().setAPNSToken(deviceToken as Data, type: FIRInstanceIDAPNSTokenType.sandbox)

我会在推送到应用商店时将其更改为.prod

【讨论】:

以上是关于推送通知在开发中工作正常,但设备在生产中没有收到通知的主要内容,如果未能解决你的问题,请参考以下文章

表条目在开发中工作正常,但在生产中没有

ApnsPHP:在开发中工作但不在生产中的推送通知

iOS推送通知在生产中不起作用

在生产中出现此错误,但在开发中工作正常 - StripeInvalidRequestError: The `line_items` parameter is required in payment m

谷歌推送通知在生产中不起作用

在 android (0.59.8) 中没有收到推送通知权限警报,但它在 ios 中工作