无法在iOS中收到通知

我正在使用Firebase云消息传递,并为我的通知创build一个cron,而不是使用Firebase控制台。 我想知道如果我可以使用我用于Android的相同的JSON。 目前我的android设备收到我发送的通知,但在我的iOS中,它不。 我想知道如果它是因为我使用像notification对象中的一些参数例如icon只适用于Android平台,它会影响结果?

我的post请求看起来像这样

 { "registration_ids" : $ids, "notification" : { "body" : "great match!", "title" : "Portugal vs. Denmark" "icon" : "myicon" }, "data" : { "Nick" : "Mario", "Room" : "PortugalVSDenmark" } } 

UPDATE

如上所示,我为iOS和Android创build了两个不同的cron,在我的iOS中我只是删除了json中的icon参数。 但是我仍然收不到任何通知。

同样在Capabilities Tab -> Push Notifications ,我ON它,也在Background Modes-> Remote notifications

你可以为android和ios使用相同的json。 Firebase云消息传递将使用每个平台的相关参数

例:

  • icon将从定位iOS的邮件中删除,因为该平台不支持更改图标。

  • sound应该是扩展名(ios需要扩展名)的文件名。 定位到Android设备时,Firebase将删除该扩展程序。

关于没有传递给iOS的消息,尝试增加priority参数。
https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream-http-messages-json

当ios应用程序处于后台Firebase使用APN传递消息时,APN通常会延迟不具有高优先级的消息。

如果这不起作用,请检查您的APNs证书configuration。

对于Firebase推送在iOS上工作,您必须将priority设置为high 。 参考: 无法使用服务器API发送推送通知

在我的json中,我添加了aps对象

 'aps' => array( 'alert' => $messageText, 'badge' => $badge, 'sound' => 'default', 'id' => $id ),