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

如何检测Firebase服务可用性并在服务中断时通知用户

Firebase服务可用性检测可行方案

客户端侧检测方案

  • 针对Auth服务:若项目开启了匿名登录,可定时调用signInAnonymously()做轻量探测;已登录用户可定时调用currentUser?.getIdToken(true)强制刷新令牌,当接口返回network-error、service-unavailable类错误码、且排除用户本地网络故障后,即可判定Auth服务当前不可用。
  • 针对Realtime Database/Cloud Firestore:预先在数据库中创建一个权限开放的最小化健康检查节点(例如命名为service_health_check,值设为固定常量),定时发起读请求,若请求返回unavailable、deadline-exceeded错误码且超时,即可判定对应数据库服务中断。注意给该节点设置最低访问权限,避免引入安全风险。
  • 通用全局拦截检测:Firebase SDK的所有异常都会返回标准化错误码,可在全局错误拦截层统一捕获internal、service-unavailable、unavailable这几类平台通用服务错误,当短时间内同类型非网络原因错误触发超过自定义阈值时,即可判定对应服务出现故障。

服务端侧检测方案(适配有自有后端的场景)

  • 可通过服务端部署定时任务,调用Firebase Admin SDK发起轻量请求:例如调用Auth接口查询预设的测试账号信息、读取数据库健康检查节点,服务端网络环境稳定,误判概率更低,检测到故障后可通过推送、站内公告等渠道批量告知用户。

避坑提示

判定服务中断前务必先确认用户本地网络正常,可先发起一次公网连通性校验,避免把用户本地断网误判为Firebase服务故障,引发不必要的用户恐慌。
检测频率建议设置为5-10分钟一次即可,不要过于频繁,避免产生额外的Firebase请求费用,也不会占用用户过多网络带宽。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:18:03