在我的项目中,我使用Firebase函数通过FCM发送消息。 我使用这个API:
admin.messaging().send()
最近并没有用于调用它的所有令牌,我收到了这个错误:
Error: Requested entity was not found.
at FirebaseMessagingError.Error (native)
at FirebaseMessagingError.FirebaseError [as constructor] (/user_code/node_modules/firebase-admin/lib/utils/error.js:39:28)
at FirebaseMessagingError.PrefixedFirebaseError [as constructor] (/user_code/node_modules/firebase-admin/lib/utils/error.js:85:28)
at new FirebaseMessagingError (/user_code/node_modules/firebase-admin/lib/utils/error.js:241:16)
at Function.FirebaseMessagingError.fromServerError (/user_code/node_modules/firebase-admin/lib/utils/error.js:271:16)
at /user_code/node_modules/firebase-admin/lib/messaging/messaging-api-request.js:140:50
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
我该如何解决?
我确定前段时间它有效并且这些错误不是。
Firebase中的任何更改?
答案 0 :(得分:1)
此错误表示您尝试发送通知的令牌不存在。
您必须在 try catch 块上添加您的发送代码,并根据错误,擦除(或使)您的基础上的令牌。
try {
...
sendYourNotification(token);
...
} catch (error) {
if (
[
'The registration token is not a valid FCM registration token',
'Requested entity was not found.',
'NotRegistered.'
].includes(error.message)
) {
// invalidate current token
// find the user and remove this token
} else {
// Log it, because is some really unexpected
}
}