iOS接收Firebase通知的“数据”但不接收“通知”部分

问题描述 投票:2回答:1

我正在使用Firebase发送有关Unity游戏的通知。在iOS上,我的测试设备正在接收通知的“数据”字段(具有我的游戏唯一的参数),而不是“通知”字段(用户的标题+正文)。

在Android上,通知按预期方式工作:

  • 如果应用程序位于前台,则它将同时接收“通知”和“数据”字段。
  • 如果应用程序在后台运行,则操作系统会显示带有“通知”参数的警报。当我点击警报时,该应用程序将打开并接收“数据”参数(仅)。

在iOS上:

  • 如果应用程序在前台,则仅接收“数据”参数。
  • 如果通知到达时应用程序在后台,则不会立即发生任何事情。下次应用重新获得焦点时,它仅接收“数据”参数。
  • 操作系统在任何测试案例中均不显示警报。
  • 该应用程序在任何测试案例中均未收到“通知”参数。

我已经在两种不同的iOS设备上进行了测试(一台运行iOS 12.2的iPhone,一台运行iOS 11.1的iPad)。

我还尝试过使用Firebase Notification Composer发送纯文本通知。这些通知到达我的Android测试设备,但发送到iOS时没有明显效果。

我按照此处的说明配置了Unity游戏和Firebase项目:https://firebase.google.com/docs/cloud-messaging/unity/client

可能不相关(因为通知编写器也受到影响),但是为了发出通知,我正在服务器上使用此库:https://github.com/Redth/PushSharp/

ios unity3d firebase-notifications
1个回答
0
投票

当我开始通过TestFlight进行测试时,iOS开始在操作系统级别显示通知(与我直接复制到测试设备上的开发版本相反)。我推测必须有一些操作系统级的钩子用于仅在使用“批准的”安装路径时才启用的通知。

仍然没有与Android相同的行为,并且我也没有想出一种很好的方法来在iOS上确定在收到通知时该应用程序是前台还是后台。

© www.soinside.com 2019 - 2024. All rights reserved.