FCM 消息始终以 503 响应
Posted
技术标签:
【中文标题】FCM 消息始终以 503 响应【英文标题】:FCM messaging responding with 503 consistently 【发布时间】:2018-09-04 14:49:42 【问题描述】:我最近实现了 FCM 消息传递,作为向基于 Cordova 的应用程序执行推送通知的一种方式。我的系统每天向个人用户发送 100-1000 条推送通知。
我正在使用 FcmSharp 库联系 FCM 消息服务。 https://github.com/bytefish/FcmSharp 据我所知正在使用 FCM HTTP v1 API。
$"https://fcm.googleapis.com/v1/projects/settings.Project/messages:send"
到目前为止,它似乎运行良好。然而,我不断收到从向 FCM 发送消息的服务记录的错误,表明出现故障。
"error":
"code": 503,
"message": "The service is currently unavailable.",
"errors": [
"message": "The service is currently unavailable.",
"domain": "global",
"reason": "backendError"
],
"status": "UNAVAILABLE"
我发送(发送给 FCMSharp)的消息的格式似乎也正确:
message:
"validate_only":false,
"message":
"data":null,
"notification":
"title":"[MyTitle]",
"body":"[MyBody]"
,
"android":
"collapse_key":null,
"priority":"HIGH",
"ttl":"0s",
"restricted_package_name":null,
"data":null,
"notification":
"title":null,
"body":null,
"icon":null,
"color":null,
"sound":"default",
"tag":null,
"click_action":null,
"body_loc_key":null,
"body_loc_args":null,
"title_loc_key":null,
"title_loc_args":null
,
"webpush":null,
"apns":
"headers":null,
"payload":
"aps":
"alert":null,
"badge":0,
"sound":"default",
"content-available":0,
"mutable-content":0,
"category":null,
"thread-id":null
,
"token":"MyValidToken",
"topic":null,
"condition":null
据我所知,该服务没有使用下面帖子中提到的“暂存”环境。
FCM service unavailable nack
我每天会收到数百个 UNAVAILABLE
答案,有时甚至会持续数小时。消息仍在通过,所以我不确定我是否被列入黑名单。如果我使用了错误的 URL 或达到了某种限制,我在他们的文档中看不到任何内容。
【问题讨论】:
FcmSharp 作者在这里。我对身份验证令牌生成进行了更改,它现在缓存了用于发送的 JWT 令牌,并且仅在到期时刷新。请尝试 2.4.0 版本,如果它解决了问题,请告诉我。 @bytefish 更新后没有任何改进。 :-( 请在github.com/bytefish/FcmSharp 的 bugtracker 中提交问题。 【参考方案1】:这是因为 FcmSharp 服务没有实现某些 Google API 所需的未记录的指数回退功能。
有关更多信息,请参阅 GitHub 线程。
https://github.com/bytefish/FcmSharp/issues/31
【讨论】:
以上是关于FCM 消息始终以 503 响应的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 云消息未在响应中收到 multicast_id
解析从 android onMessageReceived 上的 fcm 响应获得的 json
每当 CORS $http 请求失败时,返回的响应始终为 0