Firebase Cloud Messaging возвращает InvalidApnsCredential, несмотря на наличие действующего ключа авторизации APN P8 - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь отправить уведомления на устройство IOS с помощью Firebase Cloud Messaging - каждый проект IOS в консоли Firebase имеет действительный ключ аутентификации P8 APNs, заново сгенерированный для этой цели из учетной записи разработчика Apple.

Я использую этот подход:

curl -X POST \
  https://fcm.googleapis.com/fcm/send \
  -H 'Authorization: key=<My Key>' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
    "to": "<Device Token>",
    "notification": {
        "title": "Push Notification Test to IOS",
        "body":"Push Notification Test to IOS"
    },
    "data": {
        "message": "Push Notification Test to IOS"
    }
}'

Это приводит к следующей ошибке из FCM:

{
    "multicast_id": <Id>,
    "success": 0,
    "failure": 1,
    "canonical_ids": 0,
    "results": [
        {
            "error": "InvalidApnsCredential"
        }
    ]
}

Если я удаляю блок «уведомления» из сообщения, FCM отвечает сУспешно, но на устройстве ничего не получено.

Я могу отправлять и получать уведомления, используя приведенный выше пример сообщения, на устройства Android просто отлично.

Документация FCM предполагает, чтокогда включен блок «уведомления», FCM пытается отправить через APN, когда токен предназначен для устройства IOS:

Если предоставляется полезная нагрузка уведомления или для параметра content_available задано значение true длясообщение на устройство iOS, сообщение отправляется через APN, в противном случае оно отправляется через сервер соединений FCM.

Что я пробовал:

  • Обновление токенов
  • Ожидание 24 часа для распространения токенов в APN и средах сервера FCM
  • с использованием сертификатов P12
  • используя сертификаты P8
  • при условии, что приложение IOS разрешает уведомления в Xcode
  • , при условии, что учетная запись Apple Developer имеет приложение, разрешающее уведомления
  • , при условии, что идентификаторы пакетов правильны вplist, FCM и учетная запись Apple
  • пробовали и устаревший ключ FCM, и ключ сервера
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...