Firebase Messaging iOS关键告警通知正确API请求体咨询
iOS关键告警的Firebase Messaging正确请求体
以下是触发iOS关键告警的FCM HTTP API请求体正确格式,结合你遇到的问题,修正几个核心配置点:
{ "to": "你的设备Token或主题", "apns": { "headers": { "apns-priority": "10", "apns-push-type": "alert" }, "payload": { "aps": { "alert": { "title": "紧急告警", "body": "这是一条需要立即处理的关键通知" }, "sound": { "critical": 1, "name": "alert.mp3", "volume": 1.0 }, "badge": 1 } } } }
关键配置说明
- 不要在
notification字段下配置sound:FCM的notification是跨平台字段,不支持iOS特有的critical sound结构,所有iOS专属配置必须放在apns.payload.aps内。 apns-priority必须设为10:优先级5对应普通通知,不会强制唤起静音/勿扰模式下的设备,关键告警需要用最高优先级10。critical值必须是整数1:APNs要求该字段为整数类型,布尔值true会被FCM忽略,导致关键告警不生效。- 音频文件需正确部署:确保
alert.mp3已添加到iOS项目的资源目录,且Info.plist中配置了UIBackgroundModes包含audio权限。 - 权限验证:确认已通过
UNUserNotificationCenter向用户请求了criticalAlert权限,代码示例:
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge, .criticalAlert]) { granted, _ in // 处理授权结果 }
用Postman调用https://fcm.googleapis.com/fcm/send时,记得在请求头中添加Authorization: key=你的FCM服务器密钥和Content-Type: application/json。
内容的提问来源于stack exchange,提问作者celloo
相关产品推荐
相关产品推荐

