我有一个启用了云消息传递的Firebase项目。我正在使用带有服务帐户的nodejs SDK来调用admin.initializeApp()
,到目前为止,我可以访问firebase/quickstart-android中所示的台式机Chrome,android Chrome和android示例应用程序。
但是,我无法通过nodejs SDK到达一个本机内置的iOS应用程序(在testflight上运行)。它已在Firebase控制台中注册。iOS应用程序将其通知/注册令牌发送到我的nodejs后端,但是当我尝试与所述令牌交互时,我一直在获取
{
"code": "messaging/registration-token-not-registered",
"message": "Requested entity was not found."
}
iOS应用会接收在Firebase控制台上构建的消息,所以我想这意味着它的配置很好。
我唯一想到的解释是我应该在节点sdk中使用APNS,但是文档说,只有在手动构建HTTP v1请求时才需要,并且Node SDK应该在内部处理auth。
如果我使用桌面,PWA,Android和iOS令牌手动构建HTTP请求
curl -X POST \
https://fcm.googleapis.com/fcm/send \
-H 'Authorization: key=AAAAxxxxfc:ASDFG' \
-H 'Content-Type: application/json' \
-d '{
"registration_ids": [
"crC4-mcUgl0:APA91b...", //<Chrome Desktop Token>"
"dxye8zL0Ke4:APA91b...", //<Android Token>",
"cgEuQzw7tzk:APA91b...", //<PWA Token>",
"eIzMUZYYzEM:APA91b..." //<iOS Token>
],
"notification": {
"title": "Testing notification",
"body": "Hey, does this message work?"
}
}'
我得到三个成功结果,一个iOS错误,说“ NotRegistered”。