Что такое топики в пушах

«Что такое топики в пушах» — вопрос из категории Сети, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Топики (topics) в Firebase Cloud Messaging (FCM) позволяют отправлять push-уведомления группам устройств, подписанным на определенный топик. Это удобно для массовых рассылок без необходимости управлять токенами вручную.

Пример подписки на топик в Kotlin:

FirebaseMessaging.getInstance().subscribeToTopic("weather")
    .addOnCompleteListener { task ->
        if (task.isSuccessful) {
            Log.d("TAG", "Subscribed to weather topic")
        } else {
            Log.e("TAG", "Subscription failed", task.exception)
        }
    }

Особенности:

  • Подписка/отписка (subscribeToTopic/unsubscribeFromTopic) работает асинхронно.
  • Топики поддерживают до 2000 подписок на приложение.
  • Название топика может содержать буквы, цифры и -, _, ., %.

Ограничения:

  • Не подходят для персонализированных уведомлений (используйте токены).
  • Задержка доставки может быть выше, чем при отправке на конкретные устройства.