Предоставляйте доступ к геопозиции только в тех пределах и на тот срок, которых требует функция
Приложению-компаньону обычно не требуется постоянное разрешение на доступ к геопозиции только ради поддержания диалога, общей персонализации или обычных напоминаний. Постоянный фоновый доступ — это отдельный, более широкий выбор, который должен соответствовать четко определенной функции, продолжающей работать, когда приложение не активно на экране. Начните с нижней ступени лестницы необходимости: без геопозиции или ручной ввод; однократный или приблизительный доступ; доступ во время использования функции; и только затем фоновый доступ или «Всегда». Поднимайтесь выше только тогда, когда предыдущий уровень не может обеспечить видимый результат. Зафиксируйте точность, длительность, получателей и способ отключения, затем понизьте уровень разрешения и понаблюдайте, работа какой именно функции изменится.
Определите функцию перед открытием настроек
Зафиксируйте один конкретный результат, для которого якобы требуется геопозиция: однократная вставка местного времени или места, прикрепление выбранного вами местоположения, продолжение начатого пользователем маршрута или запуск другой задокументированной функции. Не принимайте формулировки вроде «улучшение взаимодействия», «персонализация» или «функциональность приложения» за полноценное обоснование цели. Отметьте, когда функция запускается, когда она должна останавливаться, должно ли приложение быть открыто на экране и что пользователь видит в итоге. Обычный чат не становится зависимым от местоположения только потому, что в него можно добавить локальные рекомендации. Если поставщик не может связать разрешение с отдельным элементом управления и наблюдаемым результатом, считайте статус функции как «необходимость не установлена», пока ищете более ограниченный вариант.
Поднимитесь по четырехступенчатой лестнице необходимости
Протестируйте функцию на четырех уровнях, начиная с наименьшего доступа. Первый уровень не использует геопозицию устройства: ввод города вручную, часовой пояс, выбранное место или полное отсутствие географических данных. Второй уровень использует разовый запрос или приблизительное местоположение. Третий уровень разрешает доступ только тогда, когда приложение или функция открыты на экране. Четвертый уровень разрешает фоновый доступ после того, как приложение перестает отображаться. В руководствах Android рекомендуется убедиться, что фоновый доступ действительно необходим, и отмечается, что выбор приблизительного местоположения на переднем плане также влияет на точность в фоновом режиме. Элементы управления Apple разделяют такие параметры, как «Однократно», «При использовании» и «Всегда», а параметр «Точная геопозиция» настраивается отдельно. Названия различаются, но суть решения остается прежней: цель, точность и длительность.
Требуйте видимого результата в фоновом режиме
Фоновый доступ более оправдан только тогда, когда указанная функция должна продолжать работу после того, как пользователь покинул экран, и дает результат, который он намеренно включил. Текущие правила Google Play связывают фоновую геопозицию с основной функциональностью, значительной пользой для пользователя, обоснованными ожиданиями и минимальным объемом данных. Эта политика магазина является полезным ориентиром для оценки, а не универсальным правовым выводом для любого устройства или региона. Спросите себя: что перестанет работать, если сменить доступ на «При использовании», как отображается текущая операция, когда она завершается и может ли пользователь приостановить ее без удаления всей учетной записи. Если единственная разница заключается в аналитике, рекламе, широкой адаптации контента или удобстве, отдайте предпочтение более узкому уровню доступа.
Разделяйте точность и постоянство
Точная геопозиция и длительный доступ решают разные задачи. Функции может требоваться примерный регион для локального форматирования, но не точные координаты; другой функции может потребоваться точная точка один раз, но без непрерывного доступа. Фиксируйте два параметра вместо одного: минимально полезную точность и кратчайшую полезную длительность. Android рекомендует менее точные альтернативы, такие как приблизительное местоположение и транзакционные механизмы, если они соответствуют сценарию использования. На поддерживаемых системах Apple параметр «Точная геопозиция» можно настроить отдельно от графика доступа. Протестируйте приблизительный режим перед предоставлением точных координат. Не думайте, что вариант «Всегда» означает непрерывный опрос каждую секунду, или что «При использовании» исключает любую фоновую работу при любых состояниях платформы; проверяйте документированное поведение приложения и индикаторы.
Проверяйте передачу, хранение и сторонние каналы данных
Системное разрешение определяет только то, может ли приложение получать геопозицию от устройства при выбранных условиях. Оно не объясняет, что происходит после сбора данных. Ознакомьтесь с актуальной информацией о конфиденциальности касательно категории геопозиции, цели, точности, сроков хранения, средств удаления и получателей. Проверьте, получают ли эти данные сервисы рекламы, аналитики, карт, отчетов о сбоях или другие программные компоненты, и сохраняется ли местоположение в истории чата, профиле, вложениях или экспортируемых файлах. Отличайте прямой доступ к датчикам устройства от геопозиции, уже записанной в сообщении или файле. Отключение разрешения блокирует доступ в будущем, но не обязательно удаляет сохраненные координаты, переданные копии, метаданные фотографий или контент, сохраненный получателем.
Проведите тест с понижением уровня доступа и закрытием приложения
Используйте нейтральные тестовые данные и зафиксируйте исходные настройки. Измените доступ «Всегда» или фоновый режим на «При использовании», приблизительный или запрещенный в зависимости от платформы. Снова откройте приложение и протестируйте только указанную функцию. Затем закройте его или переведите в фоновый режим на определенное время и понаблюдайте за системными индикаторами геопозиции, уведомлениями, видимыми результатами работы функции и настройками батареи, не делая поспешных выводов о сборе данных на основе одного лишь сигнала. Зафиксируйте результат: успешно, корректная работа с ограничениями, блокировка функции или необъяснимый доступ. Восстанавливайте более широкий доступ только в том случае, если задокументированный, выбранный результат функции не достигается и расширение прав соразмерно. Повторяйте проверку после обновлений приложения или операционной системы, так как подсказки, формулировки, правила фоновой работы и реализация могут меняться.
Завершайте решение условием прекращения действия
У решения о выдаче разрешения должен быть срок окончания. Привязывайте фоновый доступ к переключателю функции, которая его обосновала, и задайте триггер для пересмотра: завершение маршрута, окончание поездки, смена устройства или прекращение использования функции. Отзовите разрешение, когда цель будет достигнута, а затем убедитесь, что учетная запись, чат и экспорт содержат только то, что вы планировали сохранить. Сохраняйте краткую сводку: функция, выбранный уровень, точность, начало, окончание, получатели, результат понижения доступа и дата следующего пересмотра. Итогом может стать: «не требуется», «требуется при использовании», «требуется в фоновом режиме для этой включенной функции» или «неизвестно до изучения документации». Но итогом не должно быть: «всему приложению всегда нужна геопозиция».
Частые вопросы
Нужна ли приложению-компаньону геопозиция для обычного чата?
Обычно нет. Выясните, какая именно функция перестает работать без нее, и протестируйте альтернативу с ручным вводом или доступом только во время использования.
Точная геопозиция — это то же самое, что и фоновый доступ?
Нет. Точность и длительность — это раздельные параметры, и каждый из них следует минимизировать.
Приведет ли отзыв разрешения на геопозицию к удалению сохраненных мест?
Не обязательно. Разрешение устройства ограничивает доступ в будущем; сохраненные сообщения, метаданные и переданные копии требуют отдельных мер контроля.
