我正在使用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/
当我开始通过TestFlight进行测试时,iOS开始在操作系统级别显示通知(与我直接复制到测试设备上的开发版本相反)。我推测必须有一些操作系统级的钩子用于仅在使用“批准的”安装路径时才启用的通知。
仍然没有与Android相同的行为,并且我也没有想出一种很好的方法来在iOS上确定在收到通知时该应用程序是前台还是后台。