Вы когда-нибудь задумывались, почему некоторые приложения на вашем iPhone или iPad работают быстрее, предлагают более релевантный контент или вовремя уведомляют о важных событиях? За этим стоит механизм трекинга запросов — сбор данных о вашем взаимодействии с приложением, который помогает разработчикам анализировать поведение пользователей и улучшать функционал. Однако в iOS эта функция не всегда активирована по умолчанию из-за строгих правил конфиденциальности Apple.
Включение трекинга запросов может быть полезно как для обычных пользователей (например, для персонализации рекомендаций в Apple Music или App Store), так и для разработчиков, тестирующих свои приложения. Но здесь есть нюансы: неправильные настройки могут привести к избыточному сбору данных или даже конфликтам с политикой App Tracking Transparency (ATT), введённой в iOS 14.5. В этой статье мы разберём, как правильно включить трекинг, какие настройки за это отвечают, и что делать, если функция не работает.
Что такое трекинг запросов в iOS и зачем он нужен
Трекинг запросов в iOS — это механизм, позволяющий приложениям отправлять данные о ваших действиях на серверы разработчиков или аналитических платформ (например, Google Analytics, Firebase, AppsFlyer). Эти данные могут включать:
- 📱 Информацию об устройстве: модель iPhone/iPad, версия iOS, разрешение экрана.
- 🕒 Временные метки: когда вы открывали приложение, сколько времени в нём провели.
- 🔍 Действия пользователя: какие кнопки нажимали, какие разделы посещали.
- 📍 Геолокацию (если разрешение дано): приблизительное или точное местоположение.
Для чего это нужно? Например, Instagram анализирует, какие публикации вы просматриваете дольше, чтобы показывать похожий контент в ленте. Uber использует данные о ваших поездках, чтобы предлагать скидки на часто посещаемые маршруты. А разработчики игр (например, Clash of Clans) отслеживают, на каком уровне игроки чаще бросают игру, чтобы упростить геймплей.
Однако с выпуском iOS 14.5 Apple ужесточила правила: теперь приложения обязаны запрашивать разрешение на трекинг через всплывающее окно App Tracking Transparency (ATT). Без согласия пользователя доступ к идентификатору IDFA (используется для таргетированной рекламы) блокируется. Это означает, что даже если вы включите трекинг в настройках, некоторые приложения не смогут его использовать без вашего явного согласия.
Как включить трекинг запросов в настройках iOS
В iOS нет единого переключателя "включить трекинг для всех приложений". Вместо этого управление осуществляется через несколько разделов. Основные настройки находятся в меню Конфиденциальность и безопасность. Вот пошаговая инструкция:
- Откройте
Настройкина вашем iPhone или iPad. - Перейдите в раздел
Конфиденциальность и безопасность. - Выберите пункт
Отслеживание(Tracking). - Активируйте переключатель
Разрешить приложениям запрашивать отслеживание. Это позволит приложениям показывать запрос на трекинг (всплывающее окноATT).
Если этот переключатель выключен, приложения не смогут запросить разрешение на трекинг, даже если в их настройках он активирован. Обратите внимание: это не блокирует сбор данных полностью — некоторые приложения (например, Google Maps или Facebook) могут продолжать собирать информацию через другие механизмы (например, аналитику без IDFA).
Для более тонкой настройки:
- 🔄 В том же разделе
Отслеживаниевы увидите список приложений, которые уже запросили разрешение. Здесь можно вручную разрешить или запретить трекинг для каждого. - 📊 В разделе
Аналитика и улучшения(там же, вКонфиденциальность и безопасность) можно включить отправку данных Apple для улучшения iOS. Это не относится к трекингу приложений, но влияет на общую диагностику системы.
☑️ Подготовка к включению трекинга
Настройка трекинга для отдельных приложений
Не все приложения используют стандартный механизм ATT для трекинга. Некоторые (например, TikTok или Spotify) имеют собственные настройки аналитики, которые нужно включать отдельно. Рассмотрим на примере популярных сервисов:
| Приложение | Путь к настройкам трекинга | Что отслеживается |
|---|---|---|
Профиль → Настройки → Аккаунт → Данные о вас → Активность вне Instagram |
Действия на сайтах с пикселем Facebook, показы рекламы | |
| Google Maps | Профиль → Настройки → История местоположений |
Маршруты, часто посещаемые места, время пребывания |
| Apple Music | Настройки → Конфиденциальность → Персонализация рекомендаций |
Прослушанные треки, плейлисты, жанры |
| TikTok | Профиль → Настройки и конфиденциальность → Конфиденциальность → Персонализация и данные |
Просмотренные видео, время просмотра, взаимодействия |
Важно понимать, что даже если вы разрешили трекинг в настройках iOS, приложение может иметь дополнительные внутренние ограничения. Например, WhatsApp не использует IDFA для трекинга, но собирает метаданные (время отправки сообщений, IP-адреса) для работы мессенджера. Эти данные не попадают под регулирование ATT.
Если вы разработчик и тестируете своё приложение, для включения трекинга в Xcode необходимо:
- Добавить ключ
NSUserTrackingUsageDescriptionвInfo.plist. - Использовать фреймворк
AppTrackingTransparencyдля запроса разрешения. - Проверить, что в
Capabilitiesпроекта активированApp Tracking.
Проблемы с трекингом: почему запросы не работают
Иногда пользователи сталкиваются с тем, что трекинг не включается несмотря на правильные настройки. Рассмотрим типичные причины и решения:
⚠️ Внимание: Если вы используете iOS Beta, функции трекинга могут работать нестабильно из-за тестирования новых механизмов конфиденциальности. Перед подачей баг-репорта проверьте стабильность работы на официальной версии iOS.
- 🔄 Устаревшая версия iOS: Трекинг через
ATTработает только на iOS 14.5 и новее. Обновите устройство вНастройки → Основные → Обновление ПО. - 🚫 Ограничения экрана: Если на устройстве включены
Ограничения конфиденциальности(вЭкранное время), они могут блокировать доступ к трекингу. - 🛠️ Сбой кэша: Иногда помогает сброс настроек конфиденциальности. Для этого перейдите в
Настройки → Основные → Перенос или сброс → Сброс → Сбросить настройки конфиденциальности. - 🌍 Региональные ограничения: В некоторых странах (например, в ЕС) действуют дополнительные законы о защите данных (GDPR), которые могут модифицировать работу
ATT.
Если проблема сохраняется, проверьте логи приложения через Console.app на Mac (при подключении iPhone по кабелю). Ищите ошибки с кодом ATTrackingManager — они указывают на проблемы с запросом разрешения. Например, ошибка Error Domain=ATTrackingManagerErrorDomain Code=2 означает, что пользователь уже отказался от трекинга, и повторный запрос заблокирован.
Для разработчиков: если ваше приложение не показывает запрос ATT, убедитесь, что:
- В
Info.plistдобавлен ключNSUserTrackingUsageDescriptionс описанием, почему нужен трекинг. - Вызывается метод
requestTrackingAuthorizationв основном потоке (main thread). - Приложение не находится в
песочнице(например, при тестировании через TestFlight некоторые функции могут быть ограничены).
Как проверить, работает ли трекинг в приложении
Проверка активности трекинга зависит от типа собираемых данных. Вот несколько способов диагностики:
- Для рекламного трекинга (
IDFA):- Установите приложение App Tracking Detector (доступно в App Store).
- Оно покажет, какие приложения запрашивали
IDFAи получили ли они доступ.
- Для аналитики (например, Google Analytics):
- Используйте инструмент Charles Proxy или Fiddler для перехвата сетевого трафика.
- Ищите запросы к доменам вроде
google-analytics.comилиfirebaseio.com.
- Проверьте файлы логов приложения через Xcode или Android Studio (если используется кроссплатформенный фреймворк вроде Flutter).
Для обычных пользователей самый простой способ — наблюдать за поведением приложения. Например:
- 🎵 В Apple Music или Spotify рекомендации становятся точнее через 1–2 недели после включения трекинга.
- 🛒 В Amazon или AliExpress предложения в разделе "Рекомендуем для вас" обновляются с учётом ваших просмотров.
- 📱 В App Store на вкладке "Сегодня" появляются персонализированные подборки.
Если вы включили трекинг, но персонализация не улучшается, возможно, приложение использует альтернативные методы сбора данных (например, через аккаунт Google или Facebook), не связанные с IDFA.
Как обойти ограничения ATT для тестирования?
Для разработчиков: в Xcode можно сбросить статус разрешения трекинга для симулятора через команду:
defaults delete com.apple.CoreTelephony LowDataModeEnabled
Это позволит повторно запрашивать разрешение ATT без сброса устройства. Для реальных устройств такой обход невозможен — Apple блокирует многократные запросы к одному пользователю.
Безопасность и конфиденциальность: риски трекинга
Включение трекинга удобно, но не лишено рисков. Основные угрозы:
- 🕵️ Утечка персональных данных: Если приложение хранит данные небрежно, они могут попасть к третьим лицам (например, через уязвимости в Firebase).
- 🎯 Таргетированная реклама: Даже если вы не кликаете на объявления, ваши данные используются для формирования психологического профиля.
- 💰 Манипуляция ценами: Некоторые сервисы (например, Uber или Booking.com) могут повышать стоимость для "лояльных" пользователей.
- 🔄 Перепродажа данных: Компании вроде Facebook или Google могут передавать анонимизированные данные партнёрам.
Чтобы минимизировать риски:
- Регулярно проверяйте список приложений с доступом к трекингу в
Настройки → Конфиденциальность → Отслеживание. - Используйте VPN (например, ProtonVPN или 1.1.1.1) для маскировки
IP-адреса. - Отключайте трекинг для приложений, которые не используете часто.
- Периодически сбрасывайте
IDFAчерезНастройки → Конфиденциальность → Реклама → Сбросить идентификатор рекламы.
⚠️ Внимание: В iOS 17 Apple добавила функцию Sensitive Content Warning, которая может блокировать сбор некоторых данных (например, скриншоты или записи экрана) без уведомления пользователя. Это может мешать работе аналитических инструментов.
Для продвинутых пользователей: если вы хотите полностью заблокировать трекинг на уровне сети, можно использовать DNS-фильтры (например, NextDNS) с блокировкой доменов аналитических сервисов. Однако это может сломать функциональность некоторых приложений.
Альтернативные методы сбора данных без ATT
Многие приложения обходят ограничения ATT, используя другие механизмы сбора данных. Вот наиболее распространённые:
| Метод | Примеры приложений | Как отключить |
|---|---|---|
| Фингерпринтинг (определение устройства по уникальным параметрам) | Facebook, TikTok | Использовать браузер с защитой от фингерпринтинга (например, Firefox Focus) |
| Сбор данных через аккаунт (если вы авторизованы) | Google Maps, YouTube | Выходить из аккаунта или использовать гостевой режим |
| Локальная аналитика (данные хранятся на устройстве) | Duolingo, Notion | Очищать кэш приложения в Настройки → Основные → Хранилище iPhone |
| Push-уведомления (отслеживание взаимодействия с уведомлениями) | Instagram, Twitter/X | Отключать уведомления для приложения в Настройки → Уведомления |
Например, Netflix не использует IDFA, но собирает данные о просмотрах через аккаунт пользователя. Эти данные синхронизируются между устройствами и используются для рекомендаций. Чтобы ограничить такой сбор, можно:
- Создать отдельный профиль в приложении.
- Использовать функцию
Private Relay(в iCloud+), чтобы скрыть активность в сети. - Отключить персонализацию в настройках аккаунта.
Разработчики также могут использовать Server-to-Server (S2S) трекинг, когда данные отправляются напрямую с сервера приложения, минуя iOS. Этот метод не попадает под ATT, но требует согласия пользователя на обработку данных (обычно прописанного в пользовательском соглашении).
FAQ: Частые вопросы о трекинге в iOS
Можно ли включить трекинг для конкретного приложения, если оно не запрашивает разрешение?
Нет. Если приложение не реализовало запрос ATT, вы не сможете вручную разрешить трекинг через настройки iOS. Однако можно связаться с разработчиками и попросить добавить поддержку App Tracking Transparency.
Как узнать, какие данные собирает приложение?
В App Store на странице приложения есть раздел Конфиденциальность приложения (App Privacy), где разработчики обязаны указывать типы собираемых данных. Также можно изучить Политику конфиденциальности на сайте приложения.
Влияет ли трекинг на расход батареи?
Да, но незначительно. Отправка аналитических данных потребляет немного энергии, но современные приложения оптимизируют этот процесс. Например, Google Maps отправляет данные пакетами, а не в реальном времени.
Можно ли включить трекинг на устройствах с джейлбрейком?
На джейлбрейкнутых устройствах работа ATT может быть нарушена. Для восстановления функционала потребуется переустановить iOS или использовать твики вроде Liberty Lite, которые эмулируют оригинальное поведение системы.
Как трекинг связан с функцией "Найти iPhone"?
Никак. Find My iPhone использует отдельные механизмы геолокации, не связанные с ATT или рекламным трекингом. Эти данные шифруются и доступны только вам и Apple (при включённой функции).