当前位置: 首页 > 知识库问答 >
问题:

iOS应用程序不接收来自Firebase的后台推送通知

解明辉
2023-03-14

我试图在我正在开发的Cordova应用程序中获得推送通知。它们在Android应用程序中工作得很好,在iOS应用程序中,当应用程序处于前台时,它们也工作得很好,但当应用程序处于后台或终止时,我不会收到任何通知。

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

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

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

如果我在应用程序应该收到通知后启动它或将它带到前台,它就像收到了应用程序内的通知一样。即使我在通知发送后等待几分钟才启动应用程序,也会发生这种情况。

共有1个答案

曾嘉荣
2023-03-14

检查有效负载结构,你收到的应用程序,而前景。通常情况下,它与Android不同。iOS有效负载结构应为:

{
   "aps" : {
     "alert" : {
       "body" : "great match!",
       "title" : "Portugal vs. Denmark",
     },
     "badge" : 1,
   },
   "Custom_Data" : "Game level name"
 }
 类似资料:
  • 我正在iOS8+上使用最新的试用版PubNub,Xcode7.3,试图建立一个聊天应用程序。我正在评估PubNub作为另一个聊天服务器的替代方案。 我遵循了PubNub文档中关于苹果推送通知的说明,但我的应用程序在后台时从不接收推送通知。 我已经创建了p12证书并将其导入到PubNub密钥集中。我在Xcode常规设置中启用了推送通知。我已经编写了PubNub文档中指定的Swift代码。我能够成功发

  • 当应用程序在后台时,如何更新包含数据负载的Firebase推送通知?有没有办法在通知中指定通知id给Firebase API? 完整的项目在github https://github.com/akshatashan/FireBaseCloudMessagingDemo中

  • 当我的应用程序处于打开状态时,我正在通过onMessageReceived(Remotemessage mesg)获得推送通知。如果我的应用程序处于Kilded状态,我将收到推送通知,但不是从onMessageReceived()获得的。 意思是,在收到推送通知后,根据通知中的数据,我需要重定向页面,当通知点击时。如果应用程序在前景工作良好。当我杀人的时候,我在托盘上收到通知,但当我点击通知时,它

  • 我正在通过GCM在我的项目中执行推送通知。我的应用程序可以在前台接收通知,但不能在后台接收。 我在方法内部收到一条消息 当应用程序在前台,但我没有得到任何调用的方法 当应用程序处于后台模式时。 我在互联网上搜索了很长时间,才知道这是我收到的有效载荷格式的问题。我收到的有效载荷看起来像 [通知:{"body":"any","title":"any title"},优先级: high,content_

  • 使用更新的Firebase cloud messaging和swizzling方法,当我的应用程序前景化时,我能够成功地在我的应用程序委托中的方法中接收有效负载。但是,我没有收到任何类型的有效负载,并且当我的应用程序处于后台时,不会被调用,尽管api响应消息已成功发送(见下文) 以下是我发送给FCM api的请求,以触发推送通知 有FCM的回复 这是我的appDelegate代码 我在我的应用程序

  • 我已经学习了这篇关于在Windows Phone应用程序中设置解析推送通知的教程。这是我的代码: 当我从Parse dashboard发送推送通知时,它不会被接收到。我试着在模拟器(Windows Phone 8.0)和设备(8.1)上运行,在前景、背景和关闭应用程序时,结果都是相同的。 当我使用像上面的“testchannel”这样的通道并使用segment选项时,通道名称会出现在选项的下拉列表