我无法让推送通知以警报或横幅形式出现

Posted

技术标签:

【中文标题】我无法让推送通知以警报或横幅形式出现【英文标题】:I can't get push notifications to appear in alert or banner form 【发布时间】:2015-09-22 21:38:09 【问题描述】:

我已注册远程通知 很好

我有 deviceToken,服务器正在使用它,它正在向我的测试用户发送消息,当应用程序处于前台时,我断点并接收传入的远程通知。

但是当应用程序在后台运行时,什么都没有。

为 dev 和 prod 签名的 SSL 证书。目前,我使用带有沙盒 APNS 地址的 dev push.pem,针对 ios 开发人员签名的配置文件。

帮助?

【问题讨论】:

在这里查看我的答案:***.com/a/31450953/594074 didReceiveRemoteNotification not working in the background的可能重复 【参考方案1】:

在您的应用功能中设置“远程通知”,如下图所示:

希望这可能会有所帮助。

【讨论】:

【参考方案2】:

按照@karlos 的建议行事。 并且还要在你的有效载荷中添加"content-available":1,因为通过为这个键提供值 1 将表明有新的内容可用。包含这个键和值意味着当你的应用在后台启动或恢复时,application:didReceiveRemoteNotification:fetchCompletionHandler: 被调用。

更多信息请关注this链接。

【讨论】:

【参考方案3】:

感谢您的建议,但问题已经解决,这是服务器负载的问题

1 我们的服务器正在使用第三方推送通知库 2 这个库正在包装我们的 json 有效负载

我们的有效载荷

aps: 警报:...,

另外一层

aps: 警报: 应用: 警报:...,

Apple 的 APN 一点儿也没有抱怨,因为 json 没有格式错误且完全合法且在大小范围内

我在查看传入通知后发现了这一点,而我的 iphone 是从/连接到 Xcode 运行的。

人为错误,服务器端

【讨论】:

以上是关于我无法让推送通知以警报或横幅形式出现的主要内容,如果未能解决你的问题,请参考以下文章

将 iOS 推送通知显示为警报弹出窗口而不是横幅样式

推送通知未出现在通知托盘中

推送通知警报在 ios 4.2 中解锁 iPhone 时应用程序无法打开

应用在前台运行时收到 iOS 推送通知

iOS 推送通知横幅未出现

收到来自 Firebase 的推送通知 ios 但没有声音或在通知中心