【发布时间】:2017-01-20 15:14:51
【问题描述】:
当我的应用程序在前台运行并且我从我的 Web 服务器 (PHP) 发送通知时,iPhone 不会提醒消息已到达。我知道消息到达了,因为我将它保存在内部数据库中,并且我可以在视图控制器中看到它。
这是我的 JSON 数据包:
{
"data": {
"mensagem":"msg",
"dataEnvio":"2017-01-2016:06:58"
},
"content_available":true,
"time_to_live":3600,
"priority":"high",
"notification":{
"title":"new",
"sound":"default",
"body":"msg"
},
"registration_ids":["..."]
}
Android 上不会发生同样的问题。
有人知道这是怎么回事吗?
【问题讨论】:
-
当通知被发送并且应用程序在前台时,通知被传递给应用程序,而不是用户,如果你想让用户看到它,那么你的应用程序必须显示一个本地通知.顺便说一句,您有一个根据 Apple 文档不允许的有效负载 - 您将 content_available 设置为 true 表示推送是应用程序导向的推送,但它也有一个通知部分表明它是用户推送。因此,您的有效载荷是矛盾的。这不应该发生,但我不知道 Firebase 在这种情况下是否对内容做了任何事情。
-
非常感谢您的回复。 'content_available' 确实是错误的。我从有效负载中删除了“content_available”,这解决了我面临的另一个问题。我会尝试找到一些方法来显示本地通知。再次,非常感谢你,它帮助了很多!
标签: ios iphone push-notification apple-push-notifications firebase-cloud-messaging