【问题标题】:iOS app doesn't receive background push notifications from FirebaseiOS 应用未收到来自 Firebase 的后台推送通知
【发布时间】:2019-04-19 02:41:26
【问题描述】:

我正在尝试在我正在开发的 Cordova 应用程序中使用推送通知。它们在 Android 应用中运行良好,在 iOS 应用处于前台时也运行良好,但是当应用处于后台或终止时我没有收到任何通知。

我启用了“推送通知”和“后台模式 - 远程通知”功能:

而且我 100% 确定服务器有设备令牌(因为推送通知在前台工作,我可以在数据库中看到它)。

这就是我使用firebase-admin node module 发送推送通知的方式:

await firebase.messaging().send({
  token: userDeviceToken,
  data: {foo: 'bar'},
  notification: {
    title: 'This is a notification title',
    body: 'This is a notification body',
  },
});

我错过了什么?

编辑:

如果我在应用本应收到通知后启动应用或将其置于前台,则它的行为就像收到应用内通知一样。即使我在发送通知后等待几分钟再启动应用程序,也会发生这种情况。

【问题讨论】:

    标签: ios node.js firebase push-notification firebase-cloud-messaging


    【解决方案1】:

    在前台检查您在应用中收到的有效负载结构。通常它与Android相比有所不同。 iOS 有效载荷结构应该是:

    {
       "aps" : {
         "alert" : {
           "body" : "great match!",
           "title" : "Portugal vs. Denmark",
         },
         "badge" : 1,
       },
       "Custom_Data" : "Game level name"
     }
    

    【讨论】:

      【解决方案2】:

      应用程序终止时,您无法接收远程通知。您可能希望显示本地通知,告诉用户在应用终止时他无法再收到通知。

      【讨论】:

      猜你喜欢
      • 2020-08-02
      • 2018-06-21
      • 1970-01-01
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-22
      • 2016-11-04
      相关资源
      最近更新 更多