Laravel中从旧版FCM API迁移至HTTP v1多设备推送报错排查
FCM HTTP v1 批量发送参数结构修正方案
你遇到的报错是因为FCM HTTP v1 API的参数结构和旧版完全不同——tokens字段不能嵌套在message对象里,必须和message同级,这是v1版本对批量推送(Multicast Message)的强制要求。
修正后的请求参数结构应该是这样:
$fields = [ 'tokens' => $fcmIds, // 把tokens移到message外面,与message同级 'message' => [ 'notification' => $notificationData, 'data' => $dataPayload, ], ];
额外提醒:
- 如果是给单个设备推送,才需要把
token(单数)放在message对象内部 - 批量推送多个设备时,必须用根级的
tokens(复数)字段,和message平级
内容的提问来源于stack exchange,提问作者Asha Gohel
相关产品推荐
相关产品推荐

