注册令牌不是有效的 FCM 注册令牌
Posted
技术标签:
【中文标题】注册令牌不是有效的 FCM 注册令牌【英文标题】:The registration token is not a valid FCM registration token 【发布时间】:2019-05-31 13:10:03 【问题描述】:我正在尝试使用我从保存在我的 android 设备的 PassWallet 应用程序中的票证中获得的令牌向我的设备发送消息。
设备使用苹果的钱包规范发送更新通行证所需的所有信息。但是,我正在使用 FCM 发送通知,我收到此错误:“”
errorInfo:
code: 'messaging/invalid-argument',
message: 'The registration token is not a valid FCM registration token' ,
codePrefix: 'messaging'
我用来发送消息的代码是来自 Admin SDK 示例的代码:
var message =
token: device.pushToken
;
admin.messaging().send(message)
.then((response) =>
console.log('Successfully sent message:', response);
)
.catch((error) =>
console.log('Error sending message:', error);
);
我不确定我的消息是否不完整,是否需要其他内容 身体。
如果令牌过期(您可以在 Firebase 上进行验证)。
如果消息需要指定是Android、ios(APNS)等...
这是完整的堆栈跟踪:
Error: The registration token is not a valid FCM registration token
at FirebaseMessagingError.FirebaseError [as constructor] (/srv/node_modules/firebase-admin/lib/utils/error.js:39:28)
at FirebaseMessagingError.PrefixedFirebaseError [as constructor] (/srv/node_modules/firebase-admin/lib/utils/error.js:85:28)
at new FirebaseMessagingError (/srv/node_modules/firebase-admin/lib/utils/error.js:241:16)
at Function.FirebaseMessagingError.fromServerError (/srv/node_modules/firebase-admin/lib/utils/error.js:271:16)
at FirebaseMessagingRequestHandler.handleHttpError (/srv/node_modules/firebase-admin/lib/messaging/messaging-api-request.js:125:50)
at /srv/node_modules/firebase-admin/lib/messaging/messaging-api-request.js:113:23
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:229:7)
errorInfo:
code: 'messaging/invalid-argument',
message: 'The registration token is not a valid FCM registration token' ,
codePrefix: 'messaging'
【问题讨论】:
我认为 PassWallet 代币不是有效的 FCM 代币。要获取有效的 FCM 令牌,请参阅 firebase.google.com/docs/cloud-messaging/ios/… 嗨弗兰克,我不确定你的建议是使用 apns 发送消息还是只生成新消息。问题是 passwallet 是一个我无法控制的应用程序,但他们使用 .pkpass 文件,就像在 iOS 钱包中一样,我是否可以通过 apn 向这个应用程序发送通知。 要通过 FCM 发送消息,您需要一个 FCM 令牌。无论您从 passwallet 获得什么,似乎都不是有效的 FCM 令牌。 坦率地说,你是对的,令牌是问题所在。我尝试通过邮递员和 curl 发送消息,但在响应中收到此错误:“错误”:“无效注册”。当我使用 pkpass 文件返回的 pushToken 将通知发送到该设备时。我不确定如何使该令牌成为 FCM 的有效令牌,或者我是否应该改用 APNS @FrankvanPuffelen,基于这个问题***.com/questions/37464706/…。我认为我需要做的是将 APN 令牌转换为 FCM 令牌,但是 batchImport 需要一个应用程序并说是应用程序包。问题是,无论用户手机中的钱包应用程序如何,我都希望代币能够正常工作。在这种情况下我该怎么办?我从一个虚假的应用程序包中收到此响应 "message_id": "0:1547059178561977%9ba8a687f9fd7ecd" 这意味着我不知道该消息已发送 【参考方案1】:您应该发送到 Passwallet 服务器的有关更新通行证的所有信息。 请在此处找到最新说明:https://github.com/Kwiket/passwallet
密码钱包团队
【讨论】:
以上是关于注册令牌不是有效的 FCM 注册令牌的主要内容,如果未能解决你的问题,请参考以下文章