Firebase Legacy转HTTP v1:Payload的to字段替换及保留字疑问
FCM Legacy 到 HTTP v1 Payload 迁移问题解答
问题1:原"to"字段的替换方式
Legacy 中的to字段根据值的类型,对应 HTTP v1 里不同的字段:
- 如果
to的值是设备注册令牌(registration token),对应 v1 格式里的message.token字段 - 如果
to的值是主题(如/topics/news),对应 v1 格式里的message.topic字段(不需要带/topics/前缀) - 如果
to的值是条件表达式,对应 v1 格式里的message.condition字段
针对你给出的 Legacy Payload 示例,假设%SomeObj.SomeProp%是设备注册令牌,迁移后的 HTTP v1 Payload 如下:
{ "message": { "token": "%SomeObj.SomeProp%", "priority": "high", "data": { "notificationId": "%Message.Template%", "message": "Some message." } } }
问题2:data字段中"message"属性是否需要修改客户端代码
不需要修改客户端代码。FCM 的data字段属于自定义键值对区域,FCM 服务不会解析或限制这些自定义键的名称,只会原样透传给客户端。只要你的客户端代码原本能正确读取data.message字段,迁移后就可以继续正常使用,不存在保留字冲突的问题。
内容的提问来源于stack exchange,提问作者fbs419
相关产品推荐
相关产品推荐

