You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在FCM HTTP v1 API中检测无效设备令牌?

FCM HTTP v1 API推送通知:无效令牌与Payload错误的区分问题

我们使用FCM HTTP v1 API发送推送通知,用户注册设备令牌时,由于FCM未提供令牌验证API,推送服务器直接将令牌存入数据库,不做前置验证。只有在实际发送推送通知时,推送服务器才能检测设备令牌是否有效。

根据FCM注册令牌管理相关规范,设备令牌无效时,FCM服务器会返回UNREGISTERED或INVALID_ARGUMENT状态码。但INVALID_ARGUMENT状态码也会在Payload无效时返回,这导致我们无法区分这两类错误。

以下是FCM服务器针对两种错误返回的实际响应示例:

无效设备令牌的响应

{
  "error": {
    "code": 400,
    "message": "该注册令牌不是有效的FCM注册令牌",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.firebase.fcm.v1.FcmError",
        "errorCode": "INVALID_ARGUMENT"
      }
    ]
  }
}

无效Payload的响应

HTTP/1.1 400 错误请求

{
  "error": {
    "code": 400,
    "message": "收到无效的JSON负载。在'message'处发现未知字段\"priority\":找不到该字段。",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "message",
            "description": "收到无效的JSON负载。在'message'处发现未知字段\"priority\":找不到该字段。"
          }
        ]
      }
    ]
  }
}

内容的提问来源于stack exchange,提问作者jwchoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:45:30