SDK Nodejs Firebase Cloud Messaging не может получить доступ к приложению iOS - PullRequest
1 голос
/ 17 июня 2019

У меня есть проект Firebase с включенным Cloud Messaging.Я использую nodejs SDK со служебной учетной записью для вызова admin.initializeApp(), и до сих пор я могу подключиться к настольному Chrome, android Chrome и к примеру приложения для Android, как показано в firebase / quickstart-android .

Однако я не могу получить встроенное в iOS приложение iOS (работающее на testflight) из nodejs SDK.Он зарегистрирован в консоли Firebase. Приложение iOS отправляет свой токен уведомления / регистрации на мой серверный узел nodejs, но когда я пытаюсь взаимодействовать с указанным токеном, я получаю

{
    "code": "messaging/registration-token-not-registered",
    "message": "Requested entity was not found."
}

Приложение iOS получаетсообщения, встроенные в консоль Firebase , так что я предполагаю, что это означает, что конфигурация в порядке.

Единственное объяснение, которое мне приходит в голову, это то, что я должен использовать APNS в моем узле sdk, но в документации сказано, что это необходимо только при создании запросов HTTP v1 вручную, и что Node SDK должен обрабатывать аутентификацию внутренне.

Если я вручную создаю HTTP-запрос с использованием токенов рабочего стола, PWA, Android и iOS

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?
...