Чтобы повышать доверие пользователей и поддерживать безопасность экосистемы, важно установить четкие правила доступа к данным о местоположении устройства. В этой статье рассказывается о требованиях к использованию в приложениях новой кнопки геолокации Android, а также о стандартном использовании данных о местоположении устройства в активном режиме (ACCESS_COARSE_LOCATION или ACCESS_FINE_LOCATION). При получении доступа к информации в активном режиме приложение открыто и пользователь видит, что оно работает. Когда есть доступ в фоновом режиме, приложение обрабатывает данные после того, как пользователь закрыл его или нажал кнопку главного экрана.
В некоторых случаях мы разрешаем использовать в приложении активную службу. Это отдельный API, с помощью которого приложение получает доступ к данным о местоположении, даже когда оно свернуто и его работа не видна. Однако при этом необходимо, чтобы приложение прошло проверку и были соблюдены ключевые требования, приведенные в разделе Разрешения на запуск активных служб.
Что изменится в правилах доступа к данным о местоположении? Наиболее прозрачное решение для пользователей – это когда приложение получает доступ к данным о местоположении в активном режиме. Это укрепляет доверие, поэтому в Google Play мы советуем именно такой подход. Добавляя в приложение кнопку геолокации Android, вы повышаете уровень контроля над ним, улучшаете защиту конфиденциальности и обеспечиваете соответствие требованиям к минимальному уровню разрешений.
Общие сведения о минимальном уровне доступа к данным о местоположении
Для защиты конфиденциальности пользователей все приложения в Google Play должны запрашивать минимальный уровень доступа, который нужен для работы их основных функций. При определении местоположения устройства учитывайте следующие параметры:
- Точность. Если для работы функции не требуется высокая точность, используйте приблизительное местоположение (
ACCESS_COARSE_LOCATION). - Постоянство. Если доступ к геолокации нужен однократно или редко, перейдите с постоянного доступа по умолчанию на транзакционный доступ через кнопку геолокации.
Активный и фоновый режимы. В этой статье рассматривается доступ в активном режиме. Если приложению требуется доступ к геолокации, когда оно не используется, ознакомьтесь с требованиями к доступу к данным о местоположении в фоновом режиме.
Примеры случаев, когда нужно использовать данные о приблизительном местоположении устройства
- Локализованный контент и рекомендации
- Местные новости и тренды. Чтобы показывать новости из Чикаго или тренды из Сан-Франциско, не нужно знать точный почтовый адрес пользователя.
- Поиск региональных мероприятий, например фестивалей, концертов или фермерских рынков в городе или районе.
- Приблизительные метеорологические сервисы. Точность прогноза погоды обычно не зависит от того, находится пользователь дома или в в пяти минутах ходьбы от него.
- Социальные сети и сообщества
- Местные торговые площадки. В приложениях для объявлений можно указать, что товар продается в радиусе пяти километров. Это достаточная информация для покупателя, а продавец сможет раскрыть свое точное местоположение, когда сочтет нужным.
- Списки людей поблизости. В социальных приложениях лучше не показывать точное местоположение друга на карте, а просто сообщить, что он находится в том же городе.
- Инструменты и оптимизация
- Определение часового пояса. Автоматическое обновление времени на устройстве в зависимости от города или региона.
- Поиск адресов. Показ ближайших филиалов национальной сети розничных магазинов или банка. Точное местоположение важно, когда нужно подсказать путь, а для того, чтобы показать три ближайших магазина в радиусе 10 км, достаточно приблизительного местоположения.
- Персонализация и конфиденциальность
- Целевые промоакции, например купоны на скидку в сети продуктовых магазинов, у которой есть несколько филиалов в городе.
- Язык и культура. Автоматический выбор языка приложения или валюты на основе региона или страны пользователя.
Кнопка геолокации Android (обязательно для Android 17 и более новых версий)
В приложениях, предназначенных для Android 17 (уровень API 37) и более новых версий, для однократного получения данных о точном местоположении должна использоваться кнопка геолокации. Так обеспечивается соответствие требованию о минимально необходимом уровне доступа.
Почему необходимо использовать кнопку геолокации?
- Защита конфиденциальности. При использовании кнопки данные о точном местоположении предоставляются только на время текущего сеанса и становятся недоступны после закрытия приложения.
- Намерение пользователя. Взаимодействие становится понятным и предсказуемым: пользователи точно знают, когда и почему передаются сведения о местоположении.
- Удобство. Отпадает необходимость в сложных диалоговых окнах для запроса разрешений во время выполнения простых задач, например поиска магазина поблизости или добавления тега к фотографии.
Когда обязательно использовать кнопку геолокации?
Эту кнопку нужно использовать в приложениях, предназначенных для Android 17 и более новых версий, когда информация о точном местоположении требуется только на короткое время. Примеры:
- Поиск поблизости. Поиск магазинов, банкоматов или ресторанов рядом с пользователем.
- Однократная отправка. Отправка текущего местоположения другу в мессенджере.
- Геотеги. Добавление местоположения к пользовательскому контенту, например фотографиям или сообщениям в социальных сетях.
- Выбор адреса. Автоматическое заполнение поля с адресом доставки.
Пример реализации (манифест)
Если приложение запрашивает данные о точном местоположении только через кнопку, вы должны объявить об этом в файле AndroidManifest.xml, используя атрибут onlyForLocationButton:
XML
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:onlyForLocationButton="true" /> |
Технические сведения можно найти в документации по API.
Требования к разрешению на доступ к данным о точном местоположении в активном режиме
Приложения, которым требуется постоянный доступ к разрешению ACCESS_FINE_LOCATION и которые не обязаны использовать кнопку геолокации, должны соответствовать следующим критериям:
- Основные функции. Доступ должен быть необходим для выполнения основного назначения приложения или работы основной функции, указанной на странице приложения в Google Play.
- Особые запреты. Нельзя запрашивать доступ к данным о местоположении, если они будут использоваться только для рекламы и аналитики. Такие сведения ни в коем случае нельзя продавать.
Декларация в Play Console
Для всех приложений, запрашивающих данные о точном местоположении (ACCESS_FINE_LOCATION), необходимо заполнить декларацию в Play Console, обосновав необходимость доступа и объяснив, почему кнопки геолокации или сведений о приблизительном местоположении недостаточно.
Дальнейшие действия и рекомендации
- Проверьте код. Убедитесь, что приложение предназначено для Android 17 или более новой версии и использует сведения о точном местоположении для одноразовых задач.
- Добавьте флаг. Если в приложении должна использоваться кнопка, добавьте в манифест флаг onlyForLocationButton.
- Проверьте интерфейс. Убедитесь, что кнопка соответствует рекомендациям по дизайну для Android.