Инструкция: настройка APNs Key для iOS пушей через Firebase
Перед началом есть два варианта:
Вариант А — делает клиент
Передать клиенту эту инструкцию и попросить прислать:
.p8файл APNs KeyKey IDTeam ID
Вариант Б — делает PM/команда Rightech
Запросить у клиента доступ в Apple Developer Account с правами на управление:
Certificates, Identifiers & Profiles
Keys
Identifiers / App ID
Также нужен доступ в Firebase проект клиента/проекта.
Перейти в: https://developer.apple.com/account
Apple Developer → Account → Certificates, Identifiers & Profiles → Keys
Нажать:
+ / Create a key
Заполнить:
Key Name: например
PushKeyZiptronВключить галочку:
Apple Push Notifications service (APNs)
Нажать Edit.


В окне Configure Key выбрать:
Environment:
Sandbox & ProductionKey Restriction:
Team Scoped (All Topics)
Нажать Save.
Важно: после сохранения эти параметры нельзя изменить. Если ошиблись — нужно создавать новый ключ.

После настройки нажать:
Continue → Register
На финальном экране нажать:
Download
Скачается файл вида:
AuthKey_XXXXXXXX.p8
Важно: .p8 файл можно скачать только один раз. Если файл потерян, его нельзя восстановить — потребуется создать новый ключ.
Сохранить в проектной документации:
Project: <название проекта>
iOS Bundle ID: <bundle id приложения>
APNs Key Name: <название ключа>
Key ID: <значение из Apple Developer>
Team ID: <значение из Apple Developer>
.p8 file: <где хранится файл>
Key ID отображается на экране созданного ключа.
Team ID находится в:
Apple Developer → Account → Membership details → Team ID
Перейти в:
Firebase Console → Project Settings → Cloud Messaging
В блоке:
Apple app configuration → APNs Authentication Key
Для iOS-приложения выбрать нужное приложение, например:
Ziptron — io.rent.ziptron
Нажать Upload.
Загрузить:
.p8файлKey IDTeam ID
Если Firebase предлагает отдельные строки:
development APNs auth key
production APNs auth key
можно загрузить один и тот же .p8 ключ в обе строки, если в Apple он создан как Sandbox & Production.

Обязательно сверить, что Bundle ID совпадает в трёх местах:
Apple Developer App ID
Firebase iOS app
iOS-приложение / Xcode
Пример:
io.rent.ziptron
Если Bundle ID не совпадает — пуши работать не будут.
В Apple Developer открыть:
Certificates, Identifiers & Profiles → Identifiers → App ID приложения
Проверить, что включено:
Push Notifications