无法在 iOS [Firebase] 中接收通知
Cannot receive notification in iOS [Firebase]
我正在使用 Firebase 云消息传递并为我的通知创建一个 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"
}
}
更新
按照建议,我为我的 iOS 和 Android 创建了两个不同的 cron,在我的 iOS 中我只是删除了 [=37= 中的 icon
参数].但我仍然没有收到任何通知。
同样在 Capabilities Tab -> Push Notifications
下,我切换它 ON
,也在 Background Modes-> Remote notifications
中。
在我的 json 中,我添加了 aps
对象
'aps' => array(
'alert' => $messageText,
'badge' => $badge,
'sound' => 'default',
'id' => $id
),
您可以对 android 和 ios 使用相同的 json。
Firebase Cloud Messaging 将使用每个平台的相关参数
示例:
icon
将从针对 iOS 的消息中删除,因为该平台不支持更改图标。
sound
应该是带扩展名的文件名(ios 需要扩展名)。 Firebase 将在针对 android 设备时删除扩展程序。
关于未传送到 iOS 的消息,请尝试增加 priority
参数。
https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream-http-messages-json
当 ios 应用程序在后台运行时 Firebase 使用 APNs 传递消息,而 APNs 经常延迟没有高优先级的消息。
如果这不起作用,请检查您的 APNs 证书配置。
要在 iOS 上运行 Firebase 推送,您必须将 priority
设置为 high
。参考:
我正在使用 Firebase 云消息传递并为我的通知创建一个 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"
}
}
更新
按照建议,我为我的 iOS 和 Android 创建了两个不同的 cron,在我的 iOS 中我只是删除了 [=37= 中的 icon
参数].但我仍然没有收到任何通知。
同样在 Capabilities Tab -> Push Notifications
下,我切换它 ON
,也在 Background Modes-> Remote notifications
中。
在我的 json 中,我添加了 aps
对象
'aps' => array(
'alert' => $messageText,
'badge' => $badge,
'sound' => 'default',
'id' => $id
),
您可以对 android 和 ios 使用相同的 json。 Firebase Cloud Messaging 将使用每个平台的相关参数
示例:
icon
将从针对 iOS 的消息中删除,因为该平台不支持更改图标。sound
应该是带扩展名的文件名(ios 需要扩展名)。 Firebase 将在针对 android 设备时删除扩展程序。
关于未传送到 iOS 的消息,请尝试增加 priority
参数。
https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream-http-messages-json
当 ios 应用程序在后台运行时 Firebase 使用 APNs 传递消息,而 APNs 经常延迟没有高优先级的消息。
如果这不起作用,请检查您的 APNs 证书配置。
要在 iOS 上运行 Firebase 推送,您必须将 priority
设置为 high
。参考: