Требования Google Play к target API меняются каждый год: магазин просит собирать приложение под свежую версию Android, иначе новые версии не пройдут публикацию, а старая со временем перестанет показываться части пользователей. У Apple похожий цикл — новые сборки должны собираться в актуальном Xcode с SDK последней iOS. Ниже — чек-лист всех обязательных ежегодных работ, чтобы обновление не застало вас в последнюю неделю перед дедлайном.
- Раз в год Google поднимает минимальный target SDK для новых приложений и обновлений, обычно к концу лета.
- Раз в год Apple требует собирать новые сборки в свежем Xcode и SDK, обычно с весны.
- Между этими датами — анкеты о данных, privacy-манифесты, обновление сторонних SDK и проверка аккаунтов.
- Требования меняются — точные даты и номера версий сверяйте в Play Console и App Store Connect на дату релиза.
Что такое target API и почему Google Play требует его поднимать
Target API (он же target SDK) — это версия Android, под которую приложение заявляет, что проверено и работает. От неё зависит, какие ограничения системы к нему применяются: доступ к геолокации в фоне, уведомления, работа с файлами, фоновые задачи. Чем выше target, тем строже правила и тем лучше защищены данные пользователя.
Google использует этот параметр как рычаг: каждый год новые приложения и обновления должны нацеливаться на версию Android не старше примерно года от последнего релиза системы. Для уже опубликованных приложений действует более мягкий порог, но если не обновляться совсем, приложение перестаёт быть доступным для новых пользователей на свежих версиях Android. Установленное у старых пользователей продолжит работать, но поток новых установок постепенно сужается.
Обычно Google объявляет новые требования заранее, а дедлайн приходится на конец августа. Можно запросить отсрочку на несколько месяцев прямо в Play Console, но это перенос, а не отмена. Точные даты и номера уровней API каждый год свои — проверяйте раздел политик Play Console.
Что меняется у Apple: Xcode, SDK и новые версии iOS
У App Store нет понятия target API в том же виде, но логика похожая. После осеннего релиза новой iOS Apple через несколько месяцев объявляет, что все новые сборки должны быть собраны в актуальном Xcode с SDK этой системы. Как правило, требование вступает в силу весной. Старая сборка в магазине остаётся, но выпустить исправление или новую функцию без перехода на свежий Xcode уже нельзя.
Переход на новый SDK — не просто «пересобрать». Меняются системные компоненты, поведение клавиатуры, навигации, разрешений; сторонние библиотеки, которые не обновлялись, могут перестать собираться вовсе. Поэтому на поддержке мы тестируем приложение на бета-версиях iOS и Android ещё летом и выпускаем обновление до релиза системы — новые версии ОС выходят примерно 2 раза в год, и это плановая работа, а не аврал.
Чек-лист ежегодного обновления приложения
Ниже — пункты, которые стоит пройти минимум раз в год. Часть относится к коду, часть — к карточке и аккаунтам в сторах. Отмечайте выполненное.
- Target SDK поднят до уровня, который требует Google Play на текущий год, и приложение проверено на этой версии Android.
- Сборка для App Store собирается в актуальном Xcode с SDK последней iOS.
- Gradle, Android Gradle Plugin, Kotlin, Flutter или React Native обновлены до версий, совместимых с новым SDK.
- Сторонние SDK — аналитика, платежи, карты, реклама, push — обновлены до поддерживаемых версий.
- Privacy-манифесты приложения и его SDK актуальны и описывают все собираемые данные.
- Анкета Data safety в Google Play и App Privacy в App Store совпадают с тем, что приложение реально собирает.
- Ссылка на политику конфиденциальности открывается и описывает текущий состав данных.
- Если в приложении есть регистрация — работает удаление аккаунта из приложения и по ссылке.
- Разрешения запрашиваются только те, что нужны функциям, с понятным пояснением пользователю.
- Тестовый аккаунт для ревьюеров действует, пароль не сменился.
- Скриншоты и описание соответствуют текущей версии интерфейса.
- Аккаунт Apple Developer оплачен, срок продления известен, контакты владельца в Play Console актуальны.
Календарь: когда что обновлять
Требования сторов приходят в разные месяцы, поэтому удобнее держать их в одном календаре. Это ориентир по типичному циклу, а не официальный график: даты каждый год уточняются.
| Период | Что происходит | Что сделать |
|---|---|---|
| Весна | Apple вводит требование собирать сборки в новом Xcode и SDK | Перейти на свежий Xcode, обновить зависимости, проверить на устройствах |
| Июнь | Apple показывает новую iOS и открывает бета-версии | Начать тесты на бете, составить список несовместимостей |
| Лето | Google напоминает о новом target API | Поднять target SDK, пройти изменения поведения Android |
| Конец августа | Дедлайн Google Play по target API для обновлений | Выпустить обновление или запросить отсрочку в Play Console |
| Осень | Релизы новых iOS и Android | Выпустить совместимую версию до массового обновления пользователей |
| В течение года | Изменения политик данных и разрешений | Обновлять анкеты о данных, манифесты и политику конфиденциальности |
Что будет, если пропустить срок
Последствия наступают не в один день, и в этом их коварство. Пропущенный дедлайн часто замечают только тогда, когда срочно нужно выпустить исправление, а стор его не принимает.
- Google Play. Обновление с устаревшим target SDK не пройдёт публикацию. Если не обновляться долго, приложение перестанет показываться в поиске и на странице магазина для пользователей с новыми версиями Android.
- App Store. Сборку, собранную в старом Xcode, App Store Connect не примет. Хотфикс критичной ошибки превращается в проект на несколько дней: сначала обновить окружение и зависимости, потом исправить, потом пройти ревью.
- Политики данных. Расхождение анкеты о данных с реальным поведением приложения — частая причина отказа в публикации, а при повторных нарушениях — ограничения для приложения.
- Сторонние SDK. Старые версии библиотек со временем перестают поддерживаться сервисами: перестаёт работать оплата, авторизация или push.
Откладывать обновление до момента, когда понадобится новая функция. В итоге срочная задача упирается в устаревший Flutter, три несовместимые библиотеки и новый Xcode — и простая правка растягивается на две-три недели. Плановое обновление раз в год обходится дешевле, чем экстренное.
О том, как быстрее выпускать исправления и где помогают обновления «по воздуху», мы подробно писали в статье про OTA-обновления и обычную публикацию. Но OTA не отменяет требований к SDK: собранное под старую систему приложение придётся пересобрать в любом случае.
Приложение не обновляется в Google Play: как найти причину
Если вы загрузили сборку, а пользователи не видят обновления, проверьте по порядку:
- Статус в Play Console. Сборка могла застрять на проверке или получить отказ — причина указана в разделе политик и в письме на почту владельца аккаунта.
- Target SDK. Если уровень ниже требуемого, Play Console не даст выпустить сборку в рабочий трек.
- Поэтапный выпуск. Если включено постепенное развёртывание, обновление получает только часть пользователей — процент можно увеличить вручную.
- Совместимость устройств. Новый минимальный уровень Android или новые требования к оборудованию отсекают часть устройств — у них обновление не появится.
- Кэш магазина у пользователя. Иногда обновление появляется с задержкой: это не ошибка приложения, достаточно подождать.
Как это закрывает сопровождение приложения
Ежегодные требования — главная причина, по которой приложение без команды «тихо умирает»: вчера всё работало, а через год его нельзя обновить. В поддержке мобильных приложений мы ведём этот календарь за вас: обновляем SDK, библиотеки и privacy-манифесты, тестируем на бета-версиях ОС, отвечаем на замечания App Store и Google Play.
Если приложение сделано другой командой, начинаем с аудита за неделю: он показывает, что устарело и без чего стор не примет следующую версию. Обновлять зависимости и фреймворк будем поэтапно, без остановки работы приложения. Тарифы — от 150 000 ₸ в месяц, сравнить их с поддержкой сайта и CRM можно на странице цен на поддержку. Если нужна не только поддержка, но и развитие функций спринтами, посмотрите формат доработки и поддержки приложений.
Что сделать на этой неделе
Даже без подрядчика вы можете за час понять, насколько приложение готово к следующему циклу требований:
- откройте Play Console и посмотрите предупреждения в разделе политик и в «Обзоре» — Google заранее пишет о грядущих сроках;
- в App Store Connect проверьте дату последней загруженной сборки и версию Xcode, в которой она собрана;
- сверьте анкету Data safety с тем, какие SDK стоят в приложении;
- проверьте срок оплаты Apple Developer и кто в компании владеет аккаунтами.
Если хотя бы по одному пункту ответа нет, закажите аудит приложения перед обновлением — он засчитывается в первый месяц поддержки, а отчёт остаётся у вас в любом случае. Подробнее о том, из чего складывается бюджет на жизнь приложения после релиза, — в разборе стоимости поддержки мобильного приложения.
Какой target SDK требует Google Play сейчас?
Уровень меняется каждый год: обычно нужно нацеливаться на версию Android не старше примерно года от последнего релиза. Точный номер API и дату указывает Google в Play Console — сверяйте на дату публикации.
Что будет, если не обновить приложение под новую версию iOS?
Старая сборка останется в App Store, но может работать некорректно на новой системе. А когда Apple введёт требование нового SDK, вы не сможете выпустить даже срочное исправление, пока не обновите окружение.
Почему приложение не обновляется в Google Play?
Чаще всего — отказ проверки, устаревший target SDK, поэтапный выпуск на часть аудитории или отсечённые новыми требованиями устройства. Причина видна в Play Console.
Можно ли получить отсрочку по target API?
Да, Google обычно даёт возможность запросить продление на несколько месяцев в Play Console. Это время на обновление, а не освобождение от требования.
Входит ли обновление под требования сторов в поддержку WeMake?
Да, во все тарифы: обновления под новые iOS и Android, обновление SDK и privacy-манифестов, ответы на замечания сторов.