Требования к техническому качеству приложений в Google Play помогают повысить удобство для пользователей. Эти правила соотносятся с четырьмя принципами качества приложений для Android.
Требования к техническому качеству приложений Google Play делятся на две категории:
- Текущие требования, то есть действующие в настоящее время. Их необходимо соблюдать, чтобы обеспечивать стабильность, производительность и видимость приложений в Google Play.
- Новые требования, о которых мы объявляем заранее. Пока изменения не начали действовать, у вас есть возможность подготовиться: оценить, соответствует ли им ваше приложение, и интегрировать рекомендуемые инструменты и API.
Новые требования
Как мы сообщили 26 августа 2026 года, скоро вступят в силу новые требования к техническому качеству приложений и игр, публикуемых в Google Play. В этой статье Справочного центра приведена подробная информация о грядущих изменениях и технических пороговых значениях.
Снижение использования памяти
С февраля 2027 года приложения и игры в Google Play должны будут соответствовать новым пороговым значениям. Подробнее об этом рассказано ниже.
Оптимизация кода
С февраля 2027 года приложения и игры в Google Play должны будут соответствовать определенным требованиям к оптимизации. Подробнее об этом рассказано ниже.
Восстановление входа в аккаунт без нажатий
С апреля 2027 года приложения в Google Play должны будут поддерживать восстановление учетных данных без нажатий. Подробнее об этом рассказано ниже.
Снижение использования памяти
В Google Play определены пороги соответствия для основных показателей Android Vitals вашего приложения. Мы добавляем два новых показателя, связанные с использованием памяти:
- Использование памяти (анонимный RSS и файл подкачки).
- Использование памяти битовыми картами.
Как и в случае с остальными показателями, мы оцениваем качество приложения на основе данных за последние 28 дней.
Данные об использовании памяти можно посмотреть в разделе Память на странице Обзор Android Vitals, а также в Google Play Developer Reporting API.
Эти показатели отражают объем памяти, который ваше приложение используется на протяжении своего жизненного цикла, с момента загрузки из хранилища и запуска и до перехода в фоновый режим.
Значения этих показателей собираются с устройств пользователей, которые предоставили согласие на сбор данных, а затем анонимизируются и агрегируются. В Play Console можно посмотреть различные процентили для каждого показателя, в том числе 90-й процентиль. Он используется для оценки эффективности приложения путем сравнения с порогом соответствия. 90-й процентиль означает, что в 10 % замеров показатель превышает порог. Например, если 90-й процентиль равен 1,7 ГБ, то в 90 % замеров значение показателя было меньше 1,7 ГБ, а в оставшихся 10 % — превышало эту отметку.
Это требование распространяется только на приложения для мобильных устройств и планшетов.
Использование памяти
Анонимный RSS — это объем памяти, выделенный непосредственно вашему приложению (например, куча Java или Kotlin, выделение нативной памяти и анонимные отображения), которая не может быть выгружена на диск без файла подкачки. В процессе подкачки память сжимается или выгружается в zRAM.
Поскольку аппаратные ограничения различаются, пороговые значения зависят от категории приложения (например, для игр они выше) и объема ОЗУ на устройстве. С февраля 2027 года приложения и игры в Google Play должны будут соответствовать следующим требованиям:
Приложения
| Состояние приложения | Активный режим | Видимые пользователю сервисы | Фоновый режим | Кешированное состояние |
| Физическая память | 90-й процентиль | 90-й процентиль | 90-й процентиль | 90-й процентиль |
|
0—4 ГБ (общий объем: 0—3200 МБ) |
- | - | - | - |
|
4 ГБ (общий объем: 3200—4800 МБ) |
2 ГБ | 1 ГБ | 1 ГБ | - |
|
6 ГБ (общий объем: 4800–6800 МБ) |
2,25 ГБ | 1,25 ГБ | 1,25 ГБ | - |
|
8 ГБ (общий объем: 6800—9216 МБ) |
2,25 ГБ | 1,5 ГБ | 1,5 ГБ | - |
|
12 ГБ (общий объем: 9216—14 336 МБ) |
3,25 ГБ | 1,75 ГБ | 1,75 ГБ | - |
|
16 ГБ (общий объем: 14 336—18 432 МБ) |
4,25 ГБ | 2 ГБ | 2 ГБ | - |
|
16 ГБ и больше (общий объем: более 18 432 МБ) |
- | - | - | - |
Примечание. В каждый диапазон ОЗУ включено минимальное значение. Общий объем памяти может быть меньше, чем размер физической памяти, заявленный в характеристиках товара.
Игры
| Состояние приложения | Активный режим | Видимые пользователю сервисы | Фоновый режим | Кешированное состояние |
| Физическая память | 90-й процентиль | 90-й процентиль | 90-й процентиль | 90-й процентиль |
|
0—4 ГБ (общий объем: 0—3200 МБ) |
- | - | - | - |
|
4 ГБ (общий объем: 3200—4800 МБ) |
2,25 ГБ | 2,0 ГБ | 2,0 ГБ | - |
|
6 ГБ (общий объем: 4800–6800 МБ) |
2,75 ГБ | 2,5 ГБ | 2,5 ГБ | - |
|
8 ГБ (общий объем: 6800—9216 МБ) |
3,5 ГБ | 2,75 ГБ | 2,75 ГБ | - |
|
12 ГБ (общий объем: 9216—14 336 МБ) |
4 ГБ | 3,2 ГБ | 3,2 ГБ | - |
|
16 ГБ (общий объем: 14 336—18 432 МБ) |
5 ГБ | 3,5 ГБ | 3,5 ГБ | - |
|
16 ГБ и больше (общий объем: более 18 432 МБ) |
- | - | - | - |
Примечание. В каждый диапазон ОЗУ включено минимальное значение. Общий объем памяти может быть меньше, чем размер физической памяти, заявленный в характеристиках товара.
Использование памяти битовыми картами
Если приложение длительно хранит битовые карты в других состояниях, кроме фонового, это может привести к чрезмерному расходу памяти, поскольку отрисовка битовых карт возможна только при видимом интерфейсе. Как правило, их не следует подолгу удерживать в памяти в других режимах. Однако замер данных может произойти вскоре после смены состояния в процессе обработки onTrimMemory и освобождения памяти. Пороговые значения установлены именно для того, чтобы учесть это.
| Состояние приложения | 90-й процентиль |
| Активный режим | |
| Видимые пользователю сервисы | > 200 МБ |
| Фоновый режим | > 200 МБ |
| Кешированное состояние | > 400 МБ |
Оптимизация DEX-кода
С февраля 2027 года приложения и игры в Google Play должны будут соответствовать минимальным требованиям к оптимизации. Для всех приложений, загружаемых в Play Console, необходимо обеспечить показатели оптимизации, обфускации и сжатия не менее 25 %. Мы понимаем, что не во всех приложениях и играх используется большой объем DEX-кода. Поэтому требование будет применяться только в тех случаях, когда размер DEX-файлов значителен. Их размер и процент оптимизации для каждого загруженного набора App Bundle можно посмотреть в App Bundle Explorer в Play Console.
Это требование распространяется на все типы устройств.
| Игры | Приложения | |||
| Оптимизация кода | Игры с DEX-кодом более 50 МБ | Приложения с DEX-кодом более 10 МБ | ||
| Обфускация | 25 % | 25 % | ||
| Оптимизация | 25 % | 25 % | ||
| Сжатие | 25 % | 25 % | ||
Для сжатия приложений можно использовать любой инструмент, например R8.
Чтобы получить больше данных и повысить производительность, используйте анализатор конфигурации R8. Если вы публикуете приложение с помощью конвейеров непрерывной интеграции и поставки или в корпоративной среде, локальные сборки могут слегка отличаться от тех, которые загружаются Play Console для распространения.
Восстановление входа в аккаунт без нажатий
С апреля 2027 года приложения, в которых реализован вход в аккаунт (как обязательный, так и необязательный), должны поддерживать восстановление входа без нажатий в тех случаях, когда пользователь переходит со старого устройства Android на новое и выбирает восстановление данных (путем переноса между устройствами или из резервной копии). Ввод данных вручную во время настройки устройства не только усложняет процесс и снижает удержание пользователей, но и делает приложения уязвимыми для фишинга и кражи учетных данных. Чтобы избежать этих проблем и выполнить требования, используйте Android Restore Credentials API, доступный в Android 9 и более поздних версиях.
- Если для восстановления входа в приложении реализована интеграция с Block Store до 30 сентября 2026 года, то оно считается соответствующим этому требованию.
- Требование не распространяется на приложения, которые всегда будут частными или предназначены для управления корпоративными устройствами.
- Мы можем сделать исключение для приложений, на которые распространяются строгие нормативные требования, влияющие на процесс входа (например, в сфере финансовых услуг или здравоохранения). Для этого разработчик должен отправить запрос через Play Console, прежде чем требование вступит в силу.
- Пока это требование не распространяется на игры. В 2027 году мы предоставим специальные рекомендации и индивидуальные решения для сложных сценариев аутентификации в играх. Если игра поддерживает вход только в один аккаунт, настоятельно рекомендуем использовать Restore Credentials API.
Подробная информация о требованиях и исключениях будет опубликована в ближайшие месяцы.
Интеграция и тестирование
Протестируйте интеграцию. Это позволит убедиться, что пользователи не сталкиваются с проблемами и требование соблюдается. Чтобы упростить интеграцию, используйте новый ИИ-навык для восстановления учетных данных.
Типы устройств и версии Android, на которые распространяется требование
Это требование распространяется только на приложения для телефонов и планшетов. Пока Restore Credentials API не поддерживает другие типы устройств. Восстановление учетных данных доступно в Android 9 и более поздних версиях.
Часто задаваемые вопросы о новых требованиях
Требования к памяти
Почему Google вводит ограничения на показатели памяти?
Из-за роста стоимости ОЗУ в ближайшее время на рынке возникнет масштабный кризис. Неэффективное использование памяти, например утечка в приложении, из-за которой оно потребляет большую часть памяти устройства, приводит к перебоям в работе и принудительному закрытию других приложений, работающих в фоновом режиме. В Android также введены строгие ограничения на использование памяти. Мы стремимся к тому, чтобы ваши приложения соответствовали им и не закрывались принудительно.
Как уменьшить использование памяти?
Следуйте рекомендациям для приложений и игр. К основным методам относятся освобождение ресурсов в onTrimMemory() (в том числе с помощью игрового движка), предотвращение утечек статической памяти с помощью компонентов, учитывающих жизненный цикл, профилирование распределений и дампов кучи с помощью Perfetto, а также минимизация длительных фоновых задач.
Как снизить расход памяти на битовые карты?
Уменьшайте разрешение изображений и декодируйте их в соответствии с размерами экрана, используйте современные библиотеки загрузки (например, Coil или Glide) с экономящим память кешем, освобождайте неиспользуемые битовые карты, когда интерфейс скрыт (с помощью TRIM_MEMORY_UI_HIDDEN в onTrimMemory), и не храните статические ссылки на битовые карты или представления.
Обязательно ли использовать R8 для оптимизации кода?
Мы рекомендуем R8, поскольку этот инструмент позволяет выполнять расширенную оптимизацию и получать полезную информацию, но вы можете использовать и другие.
Почему требования к приложениям и играм различаются?
В играх используются иные модели потребления памяти. Это позволяет обеспечить плавный процесс, прежде всего в активном режиме. Зачастую игры используют нативные игровые движки, которые накладываются на другие технические ограничения. Требования к играм зависят от сценариев использования.
Как Google Play определяет, является ли приложение игрой?
Это определяется по категории, которую вы выбрали в настройках Play Console. От нее зависит, в каком разделе Google Play показывается приложение. Если вы измените категорию приложения на ту, которая не отражает его основные функции, с целью соответствия другим техническим требованиям, то это приведет к нарушению правил в отношении метаданных на странице приложения.
Как эти требования связаны с программой Apps Experience и программами Level Up?
После того как требования к расходу памяти вступят в силу, приложения и игры должны будут им соответствовать для участия в программах.
Ограничения на использование памяти действуют в Android 17 и более поздних версиях. Требования Google Play распространяются только на эти версии?
Нет, мы оцениваем все версии приложения, для которых доступны данные. Требования к использованию памяти анонимным RSS, файлом подкачки и битовыми картами применяются к Android 13 и более поздним версиям.
Почему для каждого объема ОЗУ указаны разные пороговые значения анонимного RSS и файла подкачки?
Разделение по объему ОЗУ позволяет учитывать, что устройства по-разному реагируют на увеличение использование памяти. Высокая производительность на устройстве с 16 ГБ памяти не гарантирует таких же показателей на устройстве с 4 ГБ. В целом, приложение не должно использовать слишком много памяти на устройствах с любым объемом ОЗУ.
На какие типы устройств распространяются требования к памяти?
Показатели использования памяти (анонимный RSS и файл подкачки), а также ее расхода битовыми картами учитываются на телефонах и планшетах.
Какие инструменты позволяют получить больше информации об использовании памяти?
-
Чтобы узнать, как оптимизировать расход памяти приложениями и играми, ознакомьтесь с нашими рекомендациями.
-
Google Play Console (Android Vitals). Отслеживайте 90-й процентиль для использования памяти (анонимный RSS и файл подкачки), а также расхода памяти битовыми картами за 28-дневный период. Данные можно фильтровать по состоянию приложения (активный режим, видимые пользователю сервисы, фоновый режим или в кеше), объему ОЗУ устройства (например, 4–6 ГБ), версии Android и выпуску приложения.
-
Google Play Developer Reporting API. Запрашивайте показатели алгоритмически, чтобы автоматизировать создание отчетов, выявлять проблемы с производительностью и интегрировать данные Android Vitals на внутренние панели управления.
-
Профилировщик памяти Android Studio и дампы кучи. Эти функции позволяют отслеживать выделение нативной и графической памяти в реальном времени, а также для кучи Java или Kotlin. Создавайте и анализируйте дампы кучи (
HPROF), чтобы обнаруживать утечки памяти, не выпущенные объекты Activity, дублирующиеся битовые карты и сохраненные пути. -
Perfetto и Трассировка системы. Используйте Perfetto (
heapprofd) для низкоресурсного замера выделения нативной памяти и памяти Java. Это позволит выявлять стеки вызовов, из-за которых увеличивается потребление памяти. Трассировка системы помогает отслеживать использование памяти при переходах между состояниями жизненного цикла и сопоставлять его с событиями, связанными с завершением работы приложений при нехватке памяти (lmkd). Для автоматизации анализа трассировки и дампа кучи также можно использовать ИИ (например, навыки Perfetto). -
Инструменты диагностики на устройстве. Введите команду
adb shell dumpsys meminfo <package_name>, чтобы в реальном времени получить данные о следующих показателях: PSS, Private Dirty (анонимный RSS), Swap Dirty (zRAM) и расход памяти битовыми картами. Для сбора пользовательской телеметрии клиента используйтеComponentCallbacks2.onTrimMemory().
Почему для оптимизации DEX-кода установлено ограничение по размеру?
Мы всегда рекомендуем оптимизировать код, чтобы повысить производительность. Однако мы также учитываем, сколько усилий потребуется для переработки и оптимизации приложения или игры и насколько это будет полезно для пользователей. Небольшие DEX-файлы (объемом менее 10 МБ для приложений и менее 50 МБ для игр) не сильно влияют на объем памяти устройства, поэтому мы не требуем оптимизировать их.
Восстановление входа в аккаунт без нажатий
Сохраняется ли ключ восстановления, если приложение удалено и переустановлено на том же устройстве?
Нет, ключ восстановления автоматически удаляется вместе с приложением.
Распространяется ли это требование на все типы устройств?
Нет, восстановление учетных данных без нажатий требуется только на телефонах и планшетах.
Применяется ли это требование, если пользователь не вошел в аккаунт ранее или в приложении вообще нет аккаунтов?
Нет, требование предназначено для того, чтобы состояние входа в аккаунт сохранялось при переходе на другое устройство.
-
Приложения без входа. Если приложение не поддерживает аккаунты и вход в них, то на него не распространяется это требование.
-
Выход из аккаунта или гостевой режим. Если пользователь вышел из аккаунта до смены устройства, не заходил в него вообще или использовал гостевой режим, ваше приложение должно запуститься на новом устройстве без аутентификации.
Работает ли функция "Восстановление учетных данных" с любым способом аутентификации?
Да, Restore Credentials API поддерживает все способы аутентификации, позволяя приложениям хранить ключ восстановления.
Поддерживает ли функция восстановления учетных данных области авторизации или многоэтапную верификацию (например, МФА)?
-
Нет, Restore Credentials API предназначен исключительно для аутентификации (восстановления идентификационных данных и сеанса). Он не обрабатывает дополнительные запросы на авторизацию, например многоэтапной аутентификации или запросы на предоставление разрешений OAuth.
-
Мы рекомендуем подход в два этапа:
-
Восстановление идентификационных данных. Используйте функцию восстановления учетных данных, чтобы автоматически восстанавливать вход в основной аккаунт пользователя при первом запуске на новом устройстве.
-
Авторизация в контексте. Запрашивайте разрешения на доступ к определенным ресурсам (например, Google Диску) непосредственно в момент, когда пользователь переходит к требующим этого функциям. При необходимости вы также можете запрашивать дополнительную аутентификацию (например, МФА).
-
Как узнать, соответствует ли интеграция в моем приложении требованиям?
Наша система определяет восстановление учетных данных по тому, использовался ли его ключ. Мы сообщим разработчикам, если приложения не соответствуют этому требованию.
Как узнать, относится ли мое приложение к исключениям?
Подробнее об исключениях мы расскажем позднее.
Как управлять вариантами использования многофакторной аутентификации (MFA)?
Restore Credentials API не обрабатывает запросы МФА и не предназначен для обхода правил безопасности в приложении. После использования ключа восстановления на новом устройстве приложение должно определить, требуется ли дополнительная проверка. Для соблюдения этого требования достаточно предоставить информацию о том, что личность пользователя подтверждена (например, сообщение "С возвращением, Александр!"). Однако перенос данных напрямую между устройствами служит веским подтверждением и не требует дополнительной многофакторной аутентификации.
Почему это требование не распространяется на игры?
Мы работаем над специальными решениями для сложных сценариев аутентификации, которые часто встречаются в играх. Рекомендуем разработчикам игр, в которых поддерживается вход только в один аккаунт, внедрить Restore Credentials API.
Подойдет ли использование Block Store для соблюдения нового требования?
Да, приложение с интеграцией Block Store может считаться соответствующим требованию. Однако этот API должен быть внедрен и запущен в рабочей версии не позднее 30 сентября 2026 года и без ошибок восстанавливать вход в аккаунт. Другие типы интеграции или выполненные после этой даты не подходят для соблюдения требования.
Почему интегрировать Block Store необходимо до 30 сентября 2026 года?
Эта дата является четким ориентиром для разработчиков, которые уже находятся в процессе интеграции Block Store. Благодаря этому текущие реализации входа без нажатий останутся действительными, при этом будущие решения будут внедряться по стандартам Менеджера учетных данных.
Что произойдет, если пользователь выйдет из аккаунта или удалит его на старом устройстве?
Приложение должно самостоятельно удалять ключ восстановления. Если приложение будет удалено, ключ восстановления также удалится автоматически.
Что делать с пользователями в гостевом режиме?
Требование относится только к функциям приложений, доступным после аутентификации. Если на старом устройстве приложение использовалось в гостевом режиме, на новом устройстве оно должно запуститься в нем же.
Что делать, если пользователи работают с несколькими аккаунтами на одном устройстве?
Для выполнения этого требования приложение должно хранить ключ восстановления для активного (или последнего активного) аккаунта пользователя на прошлом устройстве. Подробную информацию об этом можно найти в документации по восстановлению учетных данных.
Можно ли отправлять уведомления пользователям, сменившим устройство, не запрашивая у них разрешение повторно?
Да. Разрешения для приложений, в том числе на уведомления, восстанавливаются с прошлого устройства с помощью сервисов резервного копирования и восстановления. Благодаря этому пользователи продолжат получать общие уведомления. Кроме того, в сочетании с функцией восстановления учетных данных вы можете повторно привлекать пользователей с помощью персонализированных уведомлений на новом устройстве, даже если они ещё не открывали приложение.
Другое
Обязательно ли соблюдать эти требования?
Все требования, описанные на этой странице, являются обязательными. Если ваше приложение нарушает их, оно может реже показываться в Google Play, а у вас возникнут проблемы с его публикацией.
Полезные ресурсы
Оптимизация кода
- Как оптимизировать приложения с помощью R8 | Качество приложений | Android для разработчиков
- Как использовать R8 в полном режиме | Качество приложений | Android для разработчиков
- Как использовать анализатор конфигурации R8 | Качество приложений | Android для разработчиков
Использование памяти (анонимный RSS и файл подкачки)
Использование памяти битовыми картами
Восстановление учетных данных
- Что такое восстановление учетных данных
- Официальные руководства: как реализовать восстановление учетных данных
- Материалы для тестирования: проверка восстановления учетных данных в Android Studio
- Пример использования: как Uber сократил число входов вручную на 4 млн в год
Навыки
Навыки — это оптимизированные модульные инструкции и ресурсы для ИИ, которые помогают LLM лучше понимать и выполнять определенные действия. Навыки создаются в соответствии с рекомендациями и руководством по разработке для Android с сайта developer.android.com. Вы можете использовать навыки через Android CLI или другие инструменты на основе LLM.
- Навык анализа R8. Анализирует конфигурацию R8 приложения и правила сохранения.
- ИИ-навыки Perfetto. Помогают интерпретировать дампы кучи и получать полезную информацию для улучшения производительности памяти.
- Профилировщик Android. Помогает интерпретировать дампы кучи и трассировки, а также получать полезную информацию для улучшения производительности памяти.
- Навык восстановления учетных данных. Помогает интегрировать и тестировать настройки восстановления учетных данных.
Текущие требования
Существующие технические требования Google Play включают пороги соответствия для основных показателей Android Vitals, а также требования к наборам App Bundle, которые разработчики загружают в Play Console.
Основные показатели и стабильность
Чтобы определить, соответствует ли приложение стандартам стабильности, мы отслеживаем основные показатели производительности. Превышение пороговых значений может привести к тому, что ваше приложение будет реже показываться в Google Play.
- Доля сбоев, заметных пользователям. Пороговые значения составляют 1,09 % в целом (среднее значение по всем устройствам), 8 % на каждую модель телефона и 4 % на каждую модель часов. Подробнее…
- Доля ошибок ANR в активном режиме. Пороговые значения составляют 0,47 % в целом (среднее значение по всем устройствам), 8 % на каждую модель телефона и 5 % на каждую модель часов. Подробнее…
- Слишком долгая работа частичных запретов блокировки. Общий порог составляет 5 % (среднее значение по всем устройствам). Работа устройства в активном режиме без необходимости приводит к расходу батареи. Убедитесь, что вы правильно используете запрет блокировки, или используйте WorkManager для фоновых задач. Подробнее…
- Чрезмерный расход заряда батареи. Пороговое значение составляет 1 % на каждую модель часов. Подробнее…
Технические требования
Google Play поддерживает множество устройств с разными архитектурами и конфигурациями. Некоторые архитектуры играют ключевую роль для будущего Android, поэтому новые наборы App Bundle, загружаемые в Play Console, должны их поддерживать. Это позволит нам предоставлять пользователям доступ к вашим приложениям.
- Поддержка 64-разрядных устройств. Приложения с нативным кодом должны поддерживать только 64-разрядные архитектуры. Подробнее…
- Поддержка страниц памяти размером 16 КБ. Приложения с нативным кодом должны поддерживать устройства со страницами памяти размером 16 КБ. Приложения, написанные только на Java или Kotlin, совместимы по умолчанию. Подробнее…
- Поддержка 64-разрядной архитектуры и страниц памяти размером 16 КБ в Wear OS. Требование вступит в силу 15 сентября 2026 года. Подробнее…
- Поддержка 64-разрядной архитектуры и страниц памяти размером 16 КБ на телевизорах. Требование вступит в силу 1 августа 2026 года. Подробнее…