【问题标题】:iOS Firebase push notifications alertiOS Firebase 推送通知提醒
【发布时间】: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


【解决方案1】:

当应用程序处于前台时,推送通知的通知部分在 android 和 ios 中都会被忽略。我确定您是在 android 中自己在处理函数 OnMessageReceived 上创建推送通知,以便它在您处于前台时出现。

【讨论】:

    猜你喜欢
    • 2018-06-18
    • 2018-09-05
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多