0Pricing
Android Academy · Урок

Поэтапные выпуски и обновления

Поэтапно выпускайте версии и обновления

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

Безопасный выпуск обновлений

Одновременная отправка новой версии всем пользователям рискованна: незаметная ошибка может сразу затронуть всю аудиторию. Google Play предлагает более безопасные варианты: тестовые треки и поэтапные распространения.

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

Треки выпусков

Play распределяет выпуски по трекам — от наименьшего охвата к наибольшему:

  • Внутреннее тестирование — до 100 тестировщиков, доступно в течение нескольких минут, для вашей команды.
  • Закрытое тестирование — приглашённые тестировщики из списков или групп электронной почты.
  • Открытое тестирование — присоединиться к общедоступной бета-версии может любой желающий.
  • Рабочая среда — все пользователи магазина.

Оптимальный порядок — продвигать сборку по ступеням: внутреннее → закрытое → открытое тестирование → рабочая среда.

Создание выпуска

В любом треке нажмите Создать новый выпуск, загрузите файл .aab (или выберите его в обозревателе наборов приложений) и добавьте описание выпуска.

В описаниях выпусков используются языковые теги, поэтому для каждой локали отображается свой текст. Делайте описания короткими и ориентированными на пользователей.

<!-- Release notes, one block per language -->
<en-US>
- New dark mode
- Faster startup
- Fixed a crash when opening profiles
</en-US>
<tr-TR>
- Yeni karanlık mod
- Daha hızlı açılış
- Profil açılırken oluşan çökme düzeltildi
</tr-TR>

Поэтапное распространение по процентам

Для выпуска в рабочей среде можно выполнить поэтапное распространение: сначала отправить обновление небольшой части пользователей — например, 10%, — а затем постепенно расширять охват.

Play случайным образом выбирает пользователей, которые получат обновление. Вы отслеживаете частоту сбоев и ANR, а затем увеличиваете процент: 10% → 25% → 50% → 100%.

Если показатели ухудшаются, не увеличивайте охват или остановите распространение, пока проблема не затронула большинство пользователей.

Остановка и возобновление распространения

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

Выпустив исправление в новой версии, вы можете возобновить распространение или начать новое. Остановка даёт время на исправление без полного отзыва обновления — такой возможности Play фактически не предоставляет для пользователей, которые уже установили его.

Именно поэтому распространение следует начинать с небольшого процента.

Как обновления доходят до пользователей

По умолчанию приложение Play Store автоматически обновляет приложения в фоновом режиме (часто по Wi-Fi). Пользователи также могут вручную нажать «Обновить».

Помните о правиле versionCode: каждый выпуск должен иметь целое число больше, чем предыдущий, иначе Play отклонит его. versionName — это лишь название, которое видят пользователи.

android {
    defaultConfig {
        // Must be strictly greater than the previous release
        versionCode = 13
        // Friendly label shown in the store and settings
        versionName = "1.5.0"
    }
}

Обновления внутри приложения

Иногда нужно предложить пользователям обновиться прямо внутри приложения. API In-App Updates предоставляет два режима:

  • Гибкий — загрузка выполняется в фоновом режиме, пока пользователь продолжает работать с приложением.
  • Немедленный — полноэкранный блокирующий сценарий для критически важных обновлений.

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

val manager = AppUpdateManagerFactory.create(context)

manager.appUpdateInfo.addOnSuccessListener { info ->
    val available = info.updateAvailability() ==
        UpdateAvailability.UPDATE_AVAILABLE
    if (available && info.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
        manager.startUpdateFlowForResult(
            info,
            AppUpdateType.FLEXIBLE,
            activity,
            REQUEST_CODE_UPDATE
        )
    }
}

Завершение гибкого обновления

Гибкое обновление загружается незаметно для пользователя. После завершения необходимо вызвать completeUpdate(), чтобы установить его — обычно после того, как вы предложите пользователю выполнить действие с помощью всплывающего уведомления.

Отслеживайте состояние DOWNLOADED, а затем предложите перезапустить приложение.

manager.registerListener { state ->
    if (state.installStatus() == InstallStatus.DOWNLOADED) {
        // Tell the user, then finish the install
        showRestartSnackbar {
            manager.completeUpdate()
        }
    }
}

Мониторинг после выпуска

Выпуск — не конец работы. На панели Android vitals в Play Console отслеживаются показатели состояния приложения, которые Play также использует для его ранжирования:

  • Частота сбоев и частота ANR (приложение не отвечает).
  • Избыточные пробуждения, медленная отрисовка и проблемы с батареей.

Внимательно следите за этими показателями во время поэтапного распространения. Резкий рост — сигнал остановить распространение до расширения охвата.

Работа с отзывами и проблемами

После запуска важны две постоянные практики:

  • Отвечайте на отзывы в Console — это улучшает рейтинг и помогает выявлять реальные ошибки.
  • Разбирайте сбои по данным vitals или вашего средства отслеживания сбоев, исправляйте их, увеличивайте versionCode и выпускайте новое поэтапное обновление.

Выпуск — это цикл: выпускайте небольшими шагами, измеряйте, исправляйте и выпускайте снова.

Безопасный рабочий процесс выпуска

Если объединить всё содержание урока, надёжный рабочий процесс выглядит так:

  • Загрузите приложение во внутреннее тестирование и проведите быструю проверку с командой.
  • Переведите его в закрытое/открытое тестирование для получения более широкой обратной связи.
  • Начните распространение в рабочей среде с поэтапного охвата 10%.
  • Следите за показателями Android vitals и увеличивайте процент при стабильных результатах.
  • Остановите распространение и исправьте проблему при скачке показателей, затем возобновите его с новой сборкой.

Небольшие шаги и хороший мониторинг превращают выпуск обновлений из пугающей задачи в обычную процедуру.

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

Вы выпустили обновление в рабочую среду для 10% пользователей, и частота сбоев резко возросла. Вы хотите не допустить получения проблемной версии остальными пользователями, пока готовите исправление. Что следует сделать?

Итоги: распространение и обновления

Теперь вы можете уверенно выпускать обновления:

  • Используйте треки — внутренний, закрытый, открытый и рабочую среду — для постепенного расширения охвата сборок.
  • Выполняйте поэтапное распространение, начиная с небольшого охвата и увеличивая его при стабильных показателях.
  • Останавливайте распространение при скачке показателей vitals, затем исправляйте проблему и выпускайте новую сборку с увеличенным versionCode.
  • При необходимости предлагайте пользователям обновиться с помощью API In-App Updates (в гибком или немедленном режиме).
  • Отслеживайте Android vitals и отзывы, а затем улучшайте приложение.

На этом завершается тема публикации в Google Play — от подписанной сборки выпуска до безопасного распространения с мониторингом.

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

Урок «Поэтапные выпуски и обновления» бесплатный?

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

Чему я научусь в уроке «Поэтапные выпуски и обновления»?

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

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

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

Сколько времени занимает урок «Поэтапные выпуски и обновления»?

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

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

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

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

  1. Подготовка сборки к выпуску
  2. Подписание приложения
  3. Play Console и страница приложения
  4. Поэтапные выпуски и обновления
← Назад к Android Academy