Ответ
Топики (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 подписок на приложение.
- Название топика может содержать буквы, цифры и
-,_,.,%.
Ограничения:
- Не подходят для персонализированных уведомлений (используйте токены).
- Задержка доставки может быть выше, чем при отправке на конкретные устройства.