Google Play ограничивает использование разрешений на доступ к конфиденциальной информации и разрешений с высоким уровнем риска, в том числе доступ ко всем файлам для приложений. Это касается только приложений, предназначенных для Android 11 (API уровня 30) и запрашивающих разрешение MANAGE_EXTERNAL_STORAGE
, которое было добавлено в Android 11. Кроме того, эти правила не влияют на использование разрешения READ_EXTERNAL_STORAGE
.
Если для работы вашего приложения не нужно разрешение MANAGE_EXTERNAL_STORAGE
, удалите его из файла манифеста, иначе вы не пройдете проверку на соблюдение правил. Подробные сведения о других способах избежать проблем при проверке приведены ниже.
Если ваше приложение соответствует требованиям допустимого использования или для него действует исключение, вам нужно заполнить в Play Console форму "Декларация разрешений" и указать в ней разрешение на доступ ко всем файлам и другие разрешения с высоким уровнем риска.
Если вы не подадите декларацию или не приведете приложение в соответствие с требованиями, мы можем удалить его из Google Play.
Когда можно запрашивать разрешение на доступ ко всем файлам
Запрашивать доступ ко всем файлам можно, только если нет альтернативных способов работы с файлами, более безопасных для конфиденциальности пользователей (таких как платформа доступа к хранилищу или MediaStore API). Помните о том, что не следует указывать для приложения разрешения, которые оно не использует или которые не требуются для его работы.
Основные функции
Кроме того, это разрешение должно применяться только в определенных случаях и только для работы основных функций приложения. Основные функции – это то, для чего создано приложение. Без них приложение невозможно использовать. Основные функции и все входящие в них элементы должны быть явно указаны в документации и описании приложения.
Если для работы основных функций приложения требуется разрешение на доступ ко всем файлам, разработчик должен заполнить форму "Декларация разрешений" и получить одобрение со стороны Google Play.
В каких случаях можно запрашивать доступ ко всем файламЗапрашивать доступ ко всем файлам могут только приложения, предназначенные для резервного копирования и восстановления, управления документами, защиты от вирусов, а также файловые менеджеры.
Приложениям, получившим это разрешение, запрещается использовать его для не заявленных или запрещенных целей.
Использование |
Допустимое разрешение* |
Управление файлами Основная функция приложения – действия с файлами и папками за пределами предназначенного для него хранилища (просмотр, изменение и управление, включая обслуживание). |
|
Резервное копирование и восстановление Работа приложения невозможна без автоматического доступа к различным каталогам за пределами предназначенного для него хранилища. |
|
Защита от вирусов Основные функции приложения – сканирование устройства и защита от вирусов. |
|
Управление документами Основные функции приложения – действия с совместимыми файлами за пределами предназначенного для него или общего хранилища (определение местоположения файлов на устройстве, а также их просмотр и изменение). В декларации нужно указать, почему функции приложения не могут быть реализованы с помощью доступа к файлам приложения или платформы доступа к хранилищу (варианта с соблюдением требований к конфиденциальности). |
|
Поиск (на устройстве) Основная функция приложения – поиск по файлам и папкам во внешнем накопителе устройства. |
|
Шифрование и блокировка диска или папок Основная функция приложения – шифрование файлов и папок. |
|
Перенос данных Основная функция приложения – помощь при переходе на новое устройство. |
*Декларация с этими разрешениями должна быть рассмотрена и одобрена командой Google Play.
Google Play может делать временные исключения для приложений, которые не относятся к перечисленным выше категориям, если:
- Разрешение используется для работы основных функций приложения.
- Других способов обеспечить работу приложения пока не существует или использование альтернативных вариантов с соблюдением требований к конфиденциальности (например, MediaStore API или платформы доступа к хранилищу) наносит серьезный ущерб работе основных функций приложения.
- Разработчик использует оптимальные методы защиты, которые снижают угрозу нарушения конфиденциальности пользователя.
В декларации разрешений разработчик должен объяснить, почему функции приложения не могут быть реализованы с помощью платформы доступа к хранилищу или MediaStore API.
В некоторых случаях приложения запрашивают доступ к конфиденциальным пользовательским данным тогда, когда риски, связанные с уязвимостью данных, неоправданны или есть более безопасные альтернативы.
Ниже приведен список распространенных примеров использования, когда разрешение MANAGE_EXTERNAL_STORAGE
предоставляться не будет.
- Доступ к медиафайлам (см. раздел Альтернативы ниже).
- Любой выбор файлов, в ходе которого пользователь вручную указывает отдельные файлы (см. раздел Альтернативы ниже).
Примечание. Список приведен лишь в качестве примера. Возможны и другие ситуации. Подробные инструкции можно найти в статьях для разработчиков, касающихся доступа ко всем файлам и рекомендаций по работе с областями хранения данных.
Использование |
Альтернативы |
Доступ к медиафайлам |
MediaStore API позволяет приложениям просматривать медиафайлы на внешнем накопителе и взаимодействовать с ними, не запрашивая доступ ко всем файлам. В этом случае пользователи могут без труда извлекать и обновлять медиафайлы. Эти файлы остаются на внешнем накопителе устройства пользователя даже после удаления приложения. |
Выбор файлов пользователем для импорта, переноса или обработки |
Для доступа к файлам в общем хранилище в качестве варианта с соблюдением требований к конфиденциальности можно использовать платформу доступа к хранилищу. Она поддерживает подавляющее большинство примеров использования для приложений, что позволяет реализовать все их функции. |
Важно! Если вы измените способ использования этих разрешений в приложении, необходимо будет снова отправить форму, внеся в нее актуальные данные. Если вы предоставите ложную или неполную информацию, приложение может быть заблокировано, а ваш аккаунт разработчика отключен.