Как создать мобильное приложение с задачами по геоподсказкам
Пошаговый план, как сделать приложение с напоминаниями по месту: сценарии, UX, геозоны, уведомления, приватность, экономия батареи, тесты и запуск.

Что такое подсказки по локации и кому они полезны
Подсказки по месту (или напоминания по локации) — это задачи, которые срабатывают не по времени, а когда вы оказываетесь в заданной точке или зоне. Вместо «в 18:00 купить молоко» приложение говорит «вы рядом с магазином — не забудьте купить молоко». Такой подход особенно удобен, когда точное время неизвестно, но место — вполне конкретное.
Чем они отличаются от обычных напоминаний
Обычные напоминания привязаны к календарю и часам, а геоподсказки — к контексту. Поэтому они менее навязчивые и более уместные: уведомление появляется только тогда, когда оно действительно может помочь выполнить задачу.
Понятные примеры использования
- Покупки у магазина: «Зайти в аптеку» или «Купить корм», когда вы рядом с нужной точкой.
- Задачи в офисе: «Подписать документы» или «Забрать пропуск», когда вы пришли на работу.
- Привычки в спортзале: «Записать подходы» или «Не забыть бутылку воды», когда вы входите в зал.
- Дела по дороге: «Отдать посылку», когда вы проезжаете рядом с пунктом выдачи (или выходите на нужной остановке).
Ключевые ограничения, о которых важно знать
Геоподсказки звучат просто, но на практике упираются в ограничения платформ и железа:
- Точность GPS и “скачки” координат: в помещении, метро или среди высоток местоположение может определяться грубо.
- Фоновые режимы: система может ограничивать работу приложения в фоне, особенно если оно часто запрашивает локацию.
- Разрешения геолокации: пользователю нужно понятно объяснить, зачем приложению доступ «всегда» или «только при использовании».
- Батарея: частые обновления геопозиции быстро расходуют заряд, поэтому важно выбирать экономные стратегии.
Что даст эта статья
Дальше разберём путь от идеи до работающего MVP: как выбрать подход (геозоны и правила срабатывания), спроектировать UX без «шума», корректно запросить разрешения, настроить уведомления, обеспечить офлайн-работу, протестировать геолокацию и подготовить приложение к релизу.
Если вы хотите быстро проверить гипотезу и собрать MVP без долгой сборки инфраструктуры, удобно параллельно вести прототип в TakProsto.AI: там можно в формате чата набросать структуру продукта, экраны и базовую логику, а затем при необходимости экспортировать исходники и развивать проект дальше уже в привычном пайплайне.
Сценарии и требования: от идеи к MVP
Хорошие геоподсказки начинаются не с карты и не с геозон, а с ясных жизненных ситуаций. Если на старте вы не договоритесь, кому помогаете и в какой момент, приложение быстро превращается либо в «ещё один список дел», либо в источник раздражающих уведомлений.
1) Целевая аудитория и боли
Опишите 2–3 основных типа пользователей простыми фразами: «часто забываю мелкие дела по дороге», «голова забита, и я пропускаю покупки», «не хочу 20 напоминаний в день». Важно зафиксировать не демографию, а контекст: где человек бывает, как перемещается (пешком/на машине), насколько терпим к уведомлениям.
Сразу учитывайте ограничения: пользователь может быть офлайн, с разряженной батареей, с отключенной геолокацией или с нежеланием делиться точным местоположением.
2) Сценарии и приоритизация
Соберите список сценариев (лучше 10–15) и разделите на must-have и nice-to-have. Пример must-have:
- Создать задачу и привязать к месту (дом, магазин, офис).
- Сработать при приближении/уходе и показать напоминание.
- Быстро отметить «выполнено» или «позже».
Nice-to-have можно оставить на потом: умные подсказки по привычкам, совместные списки, автоматическая группировка мест.
3) Формулируем MVP
MVP должен закрывать один понятный цикл: создал место/задачу → получил напоминание в нужный момент → действие зафиксировано. Минимальный набор требований:
- создание места и задачи (название, заметка, радиус/условие);
- правила срабатывания (вход/выход, часы активности, ограничение частоты);
- история уведомлений/срабатываний, чтобы понимать «почему напомнило».
4) Метрики успеха
Договоритесь заранее, как поймёте, что продукт полезен: доля задач, закрытых после напоминания; частота отключения уведомлений; удержание на 7/30 день; доля пользователей, создавших хотя бы 3 места. Эти метрики потом помогут принимать решения без споров «нравится/не нравится».
UX и интерфейс: как не превратить напоминания в шум
Геоподсказки выигрывают у обычных напоминаний только в одном случае: когда пользователь не начинает их игнорировать. Поэтому UX здесь — это не «красивые экраны», а понятные термины, предсказуемые срабатывания и контроль над частотой уведомлений.
Базовые экраны, без которых не взлетит
Минимальный набор интерфейса обычно состоит из четырёх частей:
- Список задач: быстрый обзор, фильтр «активные/выполненные», индикатор привязки к месту.
- Карточка задачи: что сделать, где, когда напомнить, повтор, приоритет.
- Выбор места на карте: поиск по адресу, «поставить метку», настройка радиуса и тест «я сейчас здесь».
- Настройки: разрешения геолокации, «тихий режим», лимиты, управление уведомлениями.
Важно, чтобы базовый сценарий занимал 10–20 секунд: идея → создание задачи → выбор места → готово.
Термины, которые должны быть однозначными
Путаница начинается там, где слова звучат знакомо, но означают разное. Зафиксируйте формулировки прямо в интерфейсе:
- «Место» — точка (магазин/дом) или область (район/парковка).
- «Радиус» — «на каком расстоянии от места сработает» (лучше с примерами: 50 м — рядом, 300 м — квартал).
- «Когда напоминать» — при входе, при выходе, или «когда рядом».
- «Повтор» — по дням недели/по событиям, и отдельно «не чаще, чем…».
Анти-спам: правила тишины и приоритета
Сделайте уведомления редкими по умолчанию: лимит, например, 3–5 в день, и защита от повторов («не срабатывать снова 2 часа»). Добавьте:
- Группировку: «Рядом 3 дела» вместо трёх отдельных пушей.
- Приоритизацию: срочные — отдельно, низкий приоритет — в дайджест.
- «Тихий режим» по времени и по контексту (например, ночью или в рабочие часы).
Быстрые действия прямо из уведомления
Пользователь должен разруливать напоминание без открытия приложения:
- Отметить выполненной.
- Отложить (на 30 минут/до завтра).
- Отключить для этого места (пауза на неделю или навсегда).
Эти кнопки снижают раздражение и одновременно повышают качество данных: вы увидите, какие места и радиусы настроены неудачно и требуют корректировки.
Выбор подхода: геозоны, точность и правила срабатывания
Когда вы говорите пользователю «рядом», важно заранее решить, что именно это значит для приложения. Один и тот же магазин может быть «рядом» для пешего пользователя и «далеко» для водителя, а в помещении точность обычно хуже, чем на улице.
Три способа определить «рядом»
1) Геозоны (геофенсинг). Вы задаёте точку (например, адрес) и радиус, а система сообщает о входе/выходе из зоны. Это самый понятный и управляемый вариант для задач «купить по пути» или «напомнить у дома».
2) «Значимые изменения местоположения». Вместо постоянных проверок вы реагируете на крупные перемещения пользователя (например, он уехал в другой район). Подходит для общих сценариев и экономии батареи, но точность момента «я уже рядом» обычно ниже.
3) По маршруту. Логика учитывает направление и путь (например, «напомнить, когда проезжаю рядом по дороге на работу»). Даёт лучший контекст, но сложнее в реализации: нужны данные о маршруте, более частые обновления и больше тестирования.
Что выбрать для MVP
Для первой версии чаще всего достаточно геозон с простыми правилами: срабатывание при входе (или при выходе) и фиксированный радиус. Это легко объяснить пользователю и проще отладить.
Точность и компромиссы
На улице в городе могут мешать плотная застройка, отражения сигнала и «скачки» координат — уведомление может прийти на соседней улице. В помещении GPS часто нестабилен, поэтому геоподсказки лучше позиционировать как работающие «рядом с местом», а не «у двери».
Типовые параметры срабатывания
- Радиус: обычно 100–300 м в городе; для точек вроде «дом/офис» иногда 50–150 м.
- Задержка (debounce): подождать 10–60 секунд, чтобы отсеять случайные прыжки.
- «Подтверждение» события: считать вход состоявшимся, если пользователь оказался в зоне несколько раз подряд или находился внутри зоны заданное время (например, 30–120 секунд).
Такие правила уменьшают ложные срабатывания и делают подсказки заметно «умнее» без усложнения MVP.
Разрешения и приватность: как запросить локацию корректно
Геоподсказки держатся на доверии: пользователь должен понимать, зачем приложению геолокация и что он сохраняет контроль. Хорошая новость — чаще всего можно начать с минимальных разрешений и повышать доступ только при явной пользе.
Какие разрешения бывают
Обычно встречаются два режима доступа к локации:
- «Только при использовании» — приложение получает координаты, когда оно открыто (или активно на экране). Подходит для добавления места к задаче, проверки «я рядом?» и настройки геозон.
- «Всегда» — локация доступна и в фоне. Нужна, чтобы геозоны (геофенсинг) срабатывали, когда приложение закрыто.
Отдельно запрашиваются разрешения на уведомления — без них даже идеально настроенные геозоны не принесут пользы.
Сценарий запроса: ценность → запрос → резервный план
-
Сначала ценность. Покажите короткий экран-объяснение: «Напомним купить молоко, когда вы окажетесь рядом с магазином». Без технических терминов.
-
Затем запрос. Начните с «только при использовании» + уведомления. И только когда пользователь включает фоновое срабатывание («Напоминать, даже если приложение закрыто») — попросите «всегда».
-
Резервный план. Если доступ не дан, предложите альтернативы: выбор места вручную без автоматического срабатывания, напоминания по времени, а также мягкие подсказки в интерфейсе (например, баннер «Включите геолокацию, чтобы получать напоминания по месту»).
Что делать при отказе
Не блокируйте основные функции. Дайте понятный путь:
- продолжить в ручном режиме;
- переключиться на временные напоминания;
- показать кнопку «Как включить» с переходом в настройки приложения.
Прозрачность и контроль
Коротко объясните в настройках: какие данные используются, когда (в фоне или только в приложении) и как отключить. Добавьте переключатели уровня доступа и заметную опцию «Отключить геоподсказки» — это снижает тревожность и повышает конверсию в согласие.
Архитектура и модель данных
Чтобы геоподсказки работали предсказуемо, архитектуру лучше держать простой: основная логика — на устройстве, а сервер (если нужен) — для синхронизации и резервного хранения. Так приложение продолжит напоминать даже без сети и не будет зависеть от задержек API.
Базовая схема (MVP)
Минимально жизнеспособный вариант обычно выглядит так:
- Клиент iOS/Android: создание задач, привязка к месту, расчёт активных правил, показ уведомлений.
- Локальная БД (например, SQLite/Room/Core Data): хранение задач, мест, правил и состояния.
- Опциональный сервер: аккаунт, синхронизация между устройствами, бэкапы, аналитика (по желанию).
На этапе MVP часть серверной работы можно ускорить через TakProsto.AI: платформа помогает быстро собрать веб-админку/личный кабинет и бэкенд (типичный стек — React + Go + PostgreSQL), а затем развернуть, подключить домен или выгрузить исходники, если нужно перенести проект в свою инфраструктуру.
Важно сразу разделить ответственность: клиент отвечает за «сработало/не сработало», сервер — за «где мои данные и как их перенести». Это снижает риск повторных уведомлений из‑за сетевых сбоев.
Модель данных: что хранить
Удобно мыслить не «напоминанием», а набором сущностей:
- Задача (Task): заголовок, описание, приоритет, дедлайн (опционально), признак архивирования.
- Место (Place): координаты, радиус, название, тип (дом/работа/магазин), источник (вручную/поиск).
- Правило (Rule): условие (вход/выход/вблизи), окно времени (например, будни 8:00–20:00), лимиты повторов.
- Состояние выполнения (State): выполнено/отложено/пропущено, timestamp, кто изменил (пользователь/авто).
- Журнал событий (Event Log): факты срабатываний, подавления, показов уведомлений, ошибки геолокации.
Журнал нужен не «для красоты»: он помогает отлаживать спорные случаи и защищает от повторов.
Где хранить данные
По умолчанию — локально: быстрее, надёжнее в офлайне, проще с приватностью. Синхронизацию включайте только при наличии аккаунта и понятной ценности (несколько устройств, переустановка, веб‑доступ).
Минимальный серверный API (если нужен)
Оставьте API компактным:
- Аутентификация: токены, обновление сессии.
- Синк задач/мест/правил: “pull changes” и “push changes” с версионированием.
- Разрешение конфликтов: last-write-wins или явные правила (например, «выполнено» всегда побеждает).
- Резервное копирование: экспорт/импорт или автоматические снимки.
Такой фундамент позволит добавлять новые типы правил и сценарии без переписывания приложения целиком.
Уведомления: локальные, push и защита от повторов
Уведомления в геоподсказках — это «момент истины»: приложение может корректно определить место, но если напоминание придёт не вовремя или слишком часто, пользователь отключит всё.
Локальные уведомления vs push: что выбрать
Локальные уведомления отправляются самим устройством. Их достаточно, если правила срабатывания простые: «когда я рядом с магазином — напомни купить молоко». Плюсы: работают офлайн, быстрее, не требуют сервера и обычно экономнее по трафику.
Push-уведомления нужны, когда без сервера не обойтись: совместные списки (кто-то изменил задачу), корпоративные сценарии, удалённая настройка кампаний, A/B‑эксперименты, или когда важно доставить сообщение на несколько устройств пользователя.
Жизненный цикл события: от локации до действия
Типовой поток выглядит так:
-
Событие локации (вход/выход из геозоны или приближение).
-
Проверка правил: активна ли задача, подходит ли время, включён ли режим «не беспокоить», не находится ли пользователь в исключённой зоне.
-
Формирование уведомления: текст, приоритет, канал/категория, deep link в экран задачи.
-
Действие пользователя: открыть задачу, отметить выполненной, отложить, отключить подсказки для места.
Дедупликация и «окно тишины»
Чтобы не отправлять одно и то же слишком часто, задайте cooldown: например, не повторять уведомление для одной задачи в течение 2–6 часов, а для одной геозоны — не чаще раза в день. Дополнительно полезны: лимит уведомлений в сутки и правило «повтор только после выхода и повторного входа в зону».
Настройки пользователя, которые реально нужны
Дайте контроль без перегруза: частота (редко/нормально/часто), приоритеты (важные задачи выше), расписание «не беспокоить», исключения по местам (например, «не напоминать возле дома») и быстрый переключатель «пауза геоподсказок» на пару часов.
Батарея и производительность: как сделать приложение экономным
Геоподсказки быстро «сажают» батарею, если приложение часто запрашивает координаты в фоне: GPS и частые пробуждения процессора — одна из самых дорогих операций для телефона. Если к этому добавить регулярные сетевые запросы, расход становится заметным уже в течение дня.
Что именно тратит заряд
Самый затратный вариант — непрерывный трекинг (каждые несколько секунд) и попытки «точно знать, где пользователь» всегда. Даже если координаты получаются по Wi‑Fi/сотовой сети, частые обновления держат устройство в активном состоянии.
Практики, которые реально экономят батарею
Лучший подход — отдавать максимум работы операционной системе:
- Используйте системные геозоны (геофенсинг), а не собственный цикл «проверить локацию → сравнить → решить». ОС умеет оптимизировать датчики и будить приложение только при событии входа/выхода.
- Уменьшайте частоту обновлений и требуемую точность, когда это допустимо. Для напоминания «по пути домой» не нужен метровый GPS.
- Избегайте постоянного трекинга: чаще всего достаточно событий геозоны и редких проверок при активном использовании.
Оптимизация по сценариям
Экономия начинается с логики:
- Если активных задач/геозон нет — полностью отключайте мониторинг.
- Делайте адаптивный радиус: для редких/важных задач можно увеличить геозону, чтобы снизить требования к точности.
- Ограничивайте «переоценку» правил: не пересчитывайте всё при каждом небольшом смещении.
Проверяйте на реальных устройствах
Эмулятор не показывает реальную картину расхода. Прогоняйте сценарии на разных моделях (особенно старых), отдельно проверяйте режим энергосбережения и ситуацию, когда приложение выгружено из памяти: геозоны должны работать, а лишние фоновые запросы — нет.
Офлайн-режим и устойчивость к сбоям
Офлайн-режим — это не «приятный бонус», а базовая страховка. Пользователь может создавать задачи в метро, за городом или в роуминге, а приложение должно продолжать работать предсказуемо: сохранять изменения, напоминать по месту и аккуратно объяснять, что именно сейчас недоступно.
Что должно работать без интернета
Даже без сети пользователь должен:
- создавать и редактировать задачи;
- сохранять геозоны (координаты, радиус, условия срабатывания);
- получать локальные уведомления, если OS отдала событие входа/выхода из зоны.
Практика: храните задачи и геозоны в локальной базе (например, SQLite/Room/Core Data) и регистрируйте правила геозон в системном API сразу после создания. Тогда напоминание не зависит от сервера.
План синхронизации: очередь изменений и конфликты
Синхронизацию лучше строить как «очередь операций», а не как периодическую выгрузку всей базы. Каждое действие пользователя (создать/обновить/удалить) добавляется в очередь с временем, версией и идентификатором объекта.
Когда сеть появляется, приложение отправляет операции по порядку, с повторными попытками и экспоненциальной задержкой. Если сервер вернул конфликт (например, задача уже изменена на другом устройстве), не скрывайте это: предложите вариант «оставить мою версию» / «принять серверную» / «объединить» (если поля независимы). Для простоты в MVP часто достаточно стратегии “последняя запись выигрывает”, но с обязательным журналом изменений, чтобы можно было восстановить состояние.
Кэш карт и адресов: осторожно и прозрачно
Если вы показываете карту или адрес (геокодинг), учитывайте ограничения: офлайн-карты и хранение тайлов часто регулируются условиями провайдера. Безопасный путь — кэшировать только то, что необходимо для UX: последние найденные адреса, названия мест, результаты поиска, и честно показывать подсказку вроде «Адрес уточним при подключении к интернету».
Обработка ошибок геолокации
Типовые сбои: нет GPS-сигнала, отключены службы геолокации, режим экономии энергии, нет разрешений.
Хорошее поведение:
- показывать понятную причину («Геолокация выключена в настройках») и одну кнопку-действие («Открыть настройки»);
- не спамить уведомлениями об ошибках — используйте единичные, с “тихим” повтором позже;
- продолжать работать с тем, что есть: сохранять задачи, позволять задавать место вручную (пин на карте/адрес), а активацию геозон выполнять при восстановлении доступа к геоданным.
Тестирование геолокации: сценарии и инструменты
Геоподсказки редко ломаются «в лоб». Чаще всего ошибки проявляются на границах зон, в фоне, после перезапуска устройства или при нестабильном GPS. Поэтому тестирование лучше строить вокруг реальных сценариев перемещения и набора неприятных крайних случаев.
Подходы: симуляция, маршруты, «ложная» геопозиция
Для быстрых проверок используйте симуляцию перемещений:
- iOS: Xcode Location (предустановленные точки/маршруты), GPX-треки для воспроизведения движения.
- Android: Android Studio Emulator + Mock location (выбор приложения-источника), ADB-команды и тестовые провайдеры.
Полезно иметь dev-сборку с переключателем «Фейковая геопозиция»: можно подставлять координаты из списка (дом/работа/магазин), проигрывать маршрут по точкам, ускорять/замедлять скорость. Это быстрее и безопаснее, чем пытаться «намотать круги» по городу.
Набор ключевых кейсов
Покройте минимум следующие случаи:
- Вход в зону / выход из зоны (проверка обеих границ и задержек).
- Быстрый проезд мимо: пользователь пересекает геозону на машине — не должно быть «спама» или пропусков.
- Несколько зон рядом: пересечения, приоритеты, конкурирующие правила.
- Смена часовых поясов (особенно если есть ограничения по времени или «не беспокоить»).
Разрешения и фон: самые частые провалы
Протестируйте:
- Холодный старт (приложение не запускалось) и получение события в фоне.
- Сценарий «Разрешить один раз»/«Только при использовании» и переход на «Всегда».
- Работа после перезагрузки устройства: восстановление подписок/будильников, повторная регистрация геозон.
Мини-чек-лист регрессии перед релизом
Проверьте: одноразовость уведомлений (нет повторов), корректность настроек зон, влияние на батарею в типичном дне, локализацию текстов и форматов времени, поведение при выключенной геолокации и включении обратно.
Аналитика и улучшения: как понять, что подсказки работают
Геоподсказки легко «сделать», но сложно сделать полезными: одно неверное срабатывание — и пользователь отключает уведомления. Поэтому аналитика здесь — не про красивые графики, а про контроль качества и понятные решения, что улучшать в следующей версии.
Какие события стоит собирать
Начните с минимального набора событий, который объясняет путь пользователя от идеи до результата:
- Создание задачи: тип триггера (геозона/точка), радиус, включены ли уведомления.
- Срабатывание: время, тип локации (точная/приближённая), была ли задача в пределах зоны раньше.
- Открытие уведомления: открыто ли оно, через сколько секунд/минут после получения.
- Выполнение/отмена: выполнено ли после срабатывания, сколько времени заняло, удалена ли задача.
Старайтесь хранить не «сырую географию», а контекст: например, категорию места, размер радиуса, флаги условий. Координаты, если и нужны, лучше агрегировать или обрезать точность.
Метрики качества и полезности
Для геоподсказок важны три группы метрик:
- Точность срабатываний: доля срабатываний, после которых пользователь открыл уведомление или выполнил задачу.
- Ложные уведомления: случаи, когда срабатывание произошло, но пользователь быстро закрыл уведомление и не вернулся к задаче (косвенный сигнал «шумно»).
- Время до выполнения: медиана времени от срабатывания до отметки «готово». Слишком длинное — возможно, напоминание приходит не вовремя или формулировка непонятна.
Логи и диагностика для поддержки
Добавьте техническую диагностику, которая помогает разбирать жалобы без лишних персональных данных:
- внутренний идентификатор задачи и идентификатор правила/версии;
- причина несрабатывания (нет разрешений, выключена геолокация, ограничение ОС, задача приостановлена, превышен лимит геозон);
- «сухой» статус устройства: батарея/энергосбережение включено, сеть есть/нет, приложение в фоне.
План итераций после релиза
Запланируйте улучшения заранее: 1) корректировка правил (радиусы, задержки, защита от повторов), 2) персонализация (частота и «умные» подсказки по времени), 3) обучение пользователя — подсказки в интерфейсе о том, какие настройки мешают срабатываниям.
Итерации лучше выпускать маленькими шагами и проверять эффект по тем же метрикам — так вы увидите, стало ли меньше шума и больше реальной пользы.
Безопасность и подготовка к публикации
Финальный этап перед релизом — убедиться, что вы не только «доставляете напоминания», но и бережно обращаетесь с данными пользователя. Для приложений с геоподсказками это особенно заметно: доверие легко потерять одной неясной формулировкой или лишним сбором данных.
Базовые требования к безопасности
Если данные хранятся локально, защищайте их от простого копирования и просмотра: используйте защищённое хранилище платформы для токенов/ключей (Keychain/Keystore), а для базы — шифрование на устройстве там, где это оправдано.
Авторизация нужна не всегда. Если аккаунты всё же есть, выбирайте безопасные методы входа (OAuth/SSO, одноразовые коды), ограничивайте время жизни токенов и не храните пароль «как есть». Продумайте блокировку критичных действий (например, экспорт) по биометрии/код-паролю устройства.
Минимизация сбора данных
Храните только то, без чего сценарий не работает. Часто достаточно:
- координат точки/геозоны и радиуса;
- идентификатора задачи;
- времени последнего срабатывания (для защиты от повторов).
Избегайте «истории перемещений» по умолчанию. Если аналитика нужна, агрегируйте события (например, “напоминание показано/выполнено”) без точных координат.
Настройки контроля для пользователя
Дайте понятные переключатели: отключить локацию для подсказок, приостановить все уведомления, удалить все геоданные. Отдельно продумайте “Удалить аккаунт и данные” и “Экспорт данных” (например, JSON/CSV) — даже если это простой экран с подтверждением.
Если вы строите серверную часть, отдельный плюс — прозрачность по хранению данных. Например, TakProsto.AI развёрнут на серверах в России и использует локализованные/opensource LLM-модели, что удобно для проектов, где принципиально не отправлять данные за пределы страны.
Подготовка к публикации
В описании и на скриншотах используйте ясные формулировки: зачем нужна локация, когда она используется, что хранится на устройстве, а что — нет. В политиках и подсказках избегайте двусмысленностей вроде «всегда отслеживаем». Лучше: «Локация используется для срабатывания напоминаний рядом с выбранными местами». Для подробностей добавьте ссылку на /privacy.