Использует ли Firebase Cloud Messaging (FCM) сервис APNs для доставки push-уведомлений на iOS?

«Использует ли Firebase Cloud Messaging (FCM) сервис APNs для доставки push-уведомлений на iOS?» — вопрос из категории Сети, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, Firebase Cloud Messaging (FCM) полагается на Apple Push Notification service (APNs) для конечной доставки уведомлений на устройства iOS. FCM действует как кросс-платформенный облачный сервер, который маршрутизирует сообщения через инфраструктуру APNs.

Архитектура доставки: Ваш сервер -> FCM -> APNs -> Устройство пользователя

Ключевые требования и настройки:

  1. В консоли Firebase необходимо загрузить APNs Authentication Key (рекомендуется) или SSL-сертификат.
  2. FCM формирует запрос к APNs, используя полученный от вас ключ для аутентификации.

Пример полезной нагрузки FCM, настраивающей параметры APNs:

{
  "to": "device_fcm_token",
  "notification": {
    "title": "Обновление",
    "body": "Загружены новые данные"
  },
  "apns": {
    "headers": {
      "apns-priority": "10",
      "apns-push-type": "alert"
    },
    "payload": {
      "aps": {
        "sound": "default",
        "badge": 1
      }
    }
  }
}

Важно: Для фоновых обновлений (silent notifications) необходимо установить "content-available": 1 в словаре aps и соответствующий "apns-push-type": "background" в заголовках.