Предупреждения Push-Firebase не работают для производства на iOS
Я включил Firebase Messaging SDK в свой проект iOS, создал сертификат уведомления о выпуске для разработки и один для производства, загрузил оба ключа p12 в Firebase, и я не получаю уведомления, но только для разработки.
Код для регистрации хорош, и он тот же, что я использовал для обычного APNS, который отлично работал.
То же поведение наблюдается для 3 приложений.
Кто-нибудь другой столкнулся с этой проблемой? Есть ли у вас какие-либо решения или предложения?
Ответы
Ответ 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 делает разницу.