Firebase Cloud Messaging Node.js SDK无法访问iOS应用

时间:2019-06-17 15:10:09

标签: android ios node.js firebase react-native-fcm

我有一个启用了云消息传递的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”。

  • 那...是因为我在请求中缺少APNS证书吗?
  • 是因为iOS应用程序在testflight上运行吗?
  • iOS应用程序应在其代码中执行附加请求还是提供附加权限?
  • 服务帐户应该对iOS应用程序具有特殊权限吗?

0 个答案:

没有答案