如何查看Google Cloud中FcmService.SendMessage请求的错误日志及详情?
关于FCM SendMessage请求失败及日志排查的解决方案
一、确认400/404错误与失败率的关联
是的,控制台“按响应代码划分的流量”里的400和404错误就是导致22.92%失败率的直接原因。400错误通常源于请求格式问题(比如无效设备token、payload结构错误),404错误多是目标设备token已失效或不存在。
二、查看FCM SendMessage错误日志的方法
- 捕获API调用返回的错误详情
你的应用在调用SendMessage接口时,要直接捕获并记录接口返回的完整错误响应,里面会包含具体错误代码(如INVALID_ARGUMENT、NOT_FOUND)和问题描述,这是最直接的错误信息来源。 - 精准筛选日志资源管理器的日志
之前找不到SendMessage日志是因为筛选条件有误,在日志资源管理器中使用以下过滤器:
替换resource.type="firebase_project" logName="projects/[你的项目ID]/logs/fcm.googleapis.com%2Frequests" protoPayload.methodName="google.firebase.fcm.v1.FcmService.SendMessage"[你的项目ID]为实际项目ID,就能定位到所有SendMessage请求的日志,包含成功和失败的完整详情。
三、查看FCM日志的权限要求
你的账号需要拥有以下权限之一:
roles/logging.viewer(日志查看者):允许查看所有日志内容roles/firebase.admin(Firebase管理员):拥有Firebase相关的完整权限,包括日志访问roles/editor或roles/owner:项目编辑者/所有者权限,默认包含日志访问权限
如果权限不足,需联系项目管理员添加对应角色。
四、关于Cloud Audit Logs的说明
FCM的SendMessage接口不属于Cloud Audit Logs的默认审计范围,这类请求属于业务操作而非管理类操作,因此需通过FCM专用日志(fcm.googleapis.com/requests)查看相关请求详情。
内容的提问来源于stack exchange,提问作者yapp
相关产品推荐
相关产品推荐

