Android端FCM推送通知失效问题排查求助
Android端FCM令牌直接推送通知失效问题
此前正常运行的Android端FCM推送通知现已失效,但iOS端运行正常。无法确定具体失效日期,根据FCM分析数据,最后一次正常运行可能是2022年7月25日(5天前),不过之后仍显示有少量“打开”记录。
我通过Firebase云函数向主题或令牌发送通知,测试时使用令牌,但两者均无法正常工作。
遇到的错误信息
Unhandled error { Error: The registration token is not a valid FCM registration token at FirebaseMessagingError.FirebaseError [as constructor] (/workspace/node_modules/firebase-admin/lib/utils/error.js:44:28) at FirebaseMessagingError.PrefixedFirebaseError [as constructor] (/workspace/node_modules/firebase-admin/lib/utils/error.js:90:28) at new FirebaseMessagingError (/workspace/node_modules/firebase-admin/lib/utils/error.js:256:16) at Function.FirebaseMessagingError.fromServerError (/workspace/node_modules/firebase-admin/lib/utils/error.js:289:16) at Object.createFirebaseError (/workspace/node_modules/firebase-admin/lib/messaging/messaging-errors-internal.js:35:47) at /workspace/node_modules/firebase-admin/lib/messaging/messaging-api-request-internal.js:79:51 at process._tickCallback (internal/process/next_tick.js:68:7) errorInfo: { code: 'messaging/invalid-argument', message: 'The registration token is not a valid FCM registration token' }, codePrefix: 'messaging' }
我通过FCM控制台向特定主题发送新推送,成功送达。这似乎表明问题出在云函数,但并不完全确定。
更新:尝试通过FCM控制台向失效的特定令牌发送测试消息,同样失败。
已尝试的排查操作
- 将云函数回滚至之前可正常运行的版本(先删除函数后手动编辑);
- 通过云函数向主题发送消息,失败且无错误提示;
- 通过云函数向令牌发送消息,失败,错误信息如上;
- 通过FCM控制台向主题发送消息,成功;
- 通过FCM控制台向令牌发送消息,失败;
- 核对google-service.json文件与Firebase项目最新版本,确认无误。此前曾误发布使用开发项目google-service.json的Android应用版本,曾认为这是问题根源,但修复后问题仍未解决。
云函数代码
const notification: admin.messaging.Notification = { title: title, body: body } const message: admin.messaging.Message = { notification, token, android:{ notification:{ sound: 'default', icon: 'push_logo', color: '#000000', } }, apns:{ payload:{ aps: { sound: 'default' } } } } return admin.messaging().send(message)
生成的消息结构
{ notification: { title: 'test', body: 'test' }, token: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6IjE6MTAxMzMxMzU1NjY5NDphbmRyb2lkOmQyODI0NGY1MWIzYTkyYTMwN2Y5NzciLCJleHAiOjE2NTk3NTExNTAsImZpZCI6ImV3YkF0c1psUm5xZ2Mzb0tQRWs0VnYiLCJwcm9qZWN0TnVtYmVyIjoxMDEzMzEzNTU2Njk0fQ.AB2LPV8wRQIgbdIAgIU76ziJc84g5gcNFNzFyid2xeDTcAywjecKFKoCIQD1KkflpXmfOSvp28XVmTtm4JtWaaVcycQRMXtKSNUM0Q', android: { notification: { sound: 'default', icon: 'push_logo', color: '#000000' } }, apns: { payload: { aps: [Object] } } }
更新
目前通过云函数向主题发送消息已恢复正常,但通过云函数或FCM控制台直接向令牌发送消息仍失效,且自上次测试以来未进行任何代码修改。
内容的提问来源于stack exchange,提问作者MadMac
相关产品推荐
相关产品推荐

