Подтвердить что ты не робот

Предупреждения Push-Firebase не работают для производства на iOS

Я включил Firebase Messaging SDK в свой проект iOS, создал сертификат уведомления о выпуске для разработки и один для производства, загрузил оба ключа p12 в Firebase, и я не получаю уведомления, но только для разработки.

Код для регистрации хорош, и он тот же, что я использовал для обычного APNS, который отлично работал.

То же поведение наблюдается для 3 приложений.

Кто-нибудь другой столкнулся с этой проблемой? Есть ли у вас какие-либо решения или предложения?

4b9b3361

Ответ 1

У меня была такая же проблема. По-видимому, в документации Firebase есть ошибка. Когда вы экспортируете сертификат APN для производства из вашей связки ключей в файл .p12, вы должны выбрать фактический сертификат, а не закрытый ключ.

Убедитесь, что вы загрузите в консоль Firebase этот файл .p12 в настройках сертификата APN Cloud Messaging.

Также убедитесь, что вы используете:

FIRInstanceID.instanceID().setAPNSToken(deviceToken, type: .prod)

внутри

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)

Ответ 2

Прежде всего проверьте сертификат, который вы экспортируете. Типичная ошибка заключается в том, чтобы экспортировать закрытый ключ, а не службу. Я приложил скриншот. Надеюсь, это сэкономит вам немного времени.

Исправить сертификат для экспорта

Ответ 3

Я начал работать с этими шагами:

  • Восстановить профили с портала разработчика Apple.
  • Удалить старые
  • Обновление новых профилей на консоли firebase
  • Conform AppDelegate к протоколу UNUserNotificationCenterDelegate
  • Убедитесь, что вся регистрация для APNS выполнена правильно (есть много руководств о том, как это сделать)
  • Убедитесь, что вы вызвали configureFirebase при запуске приложения
  • Отправить сообщение с консоли firebase

Кажется, что шаг 4 делает разницу.