0Pricing
Android Academy · Урок

Каналы уведомлений

Группируйте уведомления по важности

«Каналы уведомлений» — бесплатный урок Android Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Android Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Android Academy содержит 4 уроков всего.

Каналы уведомлений

Начиная с Android 8.0 (API 26), каждое уведомление должно относиться к каналу. Каналы объединяют связанные уведомления и позволяют пользователям отдельно управлять ими в системных настройках.

Зачем нужны каналы

Каналы дают пользователям детальный контроль. Вместо единого переключателя для всего приложения можно отключить звук у канала «Акции», оставив звук у канала «Сообщения». Это уменьшает усталость от уведомлений.

Каналы обязательны

На API 26 и более новых версиях публикация уведомления без действительного канала просто ничего не делает. Канал необходимо создать до публикации первого уведомления в нём.

Уровни важности

У каждого канала есть важность, определяющая его поведение по умолчанию:

  • IMPORTANCE_HIGH: воспроизводит звук и показывает баннер поверх экрана;
  • IMPORTANCE_DEFAULT: воспроизводит звук;
  • IMPORTANCE_LOW: без звука;
  • IMPORTANCE_MIN: без звука, свёрнуто.

Создание канала

Создайте NotificationChannel, указав идентификатор, отображаемое пользователю имя и важность.

val channel = NotificationChannel(
    "messages",
    "Messages",
    NotificationManager.IMPORTANCE_HIGH
).apply {
    description = "Chat messages from your contacts"
}

Регистрация в системе

Зарегистрируйте канал один раз в NotificationManager с помощью createNotificationChannel. Повторное создание канала с тем же идентификатором безопасно и не приводит к последствиям.

val manager = context.getSystemService(NotificationManager::class.java)
manager.createNotificationChannel(channel)

Создавайте каналы заранее

Удобное место для создания каналов — Application.onCreate, чтобы они уже существовали до выполнения любого участка кода, который пытается опубликовать уведомление.

class MyApp : Application() {
    override fun onCreate() {
        super.onCreate()
        createNotificationChannels()
    }
}

Идентификаторы каналов не меняются

Идентификатор канала используется при публикации уведомлений. Выбирайте стабильные идентификаторы и храните их в константах, чтобы они всегда совпадали в настройках построителя и канала.

object Channels {
    const val MESSAGES = "messages"
    const val PROMOTIONS = "promotions"
}

Настройки принадлежат пользователям

После создания каналом управляет пользователь. Если он снизит его важность или отключит его, Ваш код не сможет это изменить. При создании можно задать только исходную важность.

Группы каналов

В приложениях с большим количеством каналов NotificationChannelGroup объединяет их в разделы в настройках, например отдельно группируя каналы «Команда A» и «Команда B».

Совместимость с версиями до API 26

На устройствах с версией ниже API 26 каналов нет, поэтому идентификатор канала просто игнорируется. Использование NotificationCompat позволяет безопасно запускать один и тот же код на разных версиях.

Быстрая проверка

Проверьте, насколько хорошо Вы поняли каналы уведомлений.

Итоги

Вы изучили каналы уведомлений:

  • API 26 и более новые версии требуют, чтобы у каждого уведомления был канал;
  • уровень важности определяет звук и отображение баннера по умолчанию;
  • канал создаётся с помощью NotificationChannel и регистрируется через createNotificationChannel;
  • создавайте каналы заранее: в конечном счёте их настройки контролируют пользователи.

Далее: создание уведомления.

Часто задаваемые вопросы

Урок «Каналы уведомлений» бесплатный?

Да — полный текст урока «Каналы уведомлений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Android Academy, подпишись на CoddyKit PRO. Курс Android Academy содержит 4 уроков всего.

Чему я научусь в уроке «Каналы уведомлений»?

Группируйте уведомления по важности Ты практикуешь Android Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Android Academy?

Предыдущий опыт не требуется. Android Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Каналы уведомлений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Android Academy?

Да. Каждый урок Android Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Каналы уведомлений
  2. Создание уведомления
  3. Действия и глубокие ссылки
  4. Разрешение на уведомления во время работы
← Назад к Android Academy