Как подготовиться к новым требованиям Apple в отношении раскрытия информации в приложениях App Store

Согласно требованиям Apple, разработчикам, публикующим приложения в App Store, необходимо раскрывать определенную информацию об использовании данных в их приложениях.

В этом документе описаны действия библиотек Firebase для платформы Apple, которые могут требовать раскрытия информации в соответствии с правилами Apple. При установке Firebase обратите внимание на целевые сборки, установленные в ваше приложение выбранным вами менеджером зависимостей. Для каждой цели, указанной в менеджере зависимостей, изучите соответствующий раздел этого документа, чтобы определить, о каком сборе данных вы должны сообщить. Количество установленных целевых объектов сборки Firebase может быть больше, чем вы ожидали, поскольку некоторые целевые объекты сборки Firebase имеют временные зависимости от других.

Если вы используете какие-либо дополнительные функции продукта, связанные с дополнительными данными, или участвуете в тестировании новых функций продукта, связанных с дополнительными данными, обязательно проверьте, требуют ли эти функции или тесты дополнительного раскрытия информации.

Чтобы в вашем приложении показывались точные данные, рекомендуем всегда использовать последнюю версию Firebase SDK.

Агент пользователя Firebase

Агент пользователя Firebase – это набор данных, собираемых большинством Firebase SDK. Он включает информацию об устройстве, операционной системе, идентификаторе пакета приложения и платформе разработчика. Агент пользователя никогда не связывается с идентификатором пользователя или устройства. Команда Firebase использует его, чтобы определить, какие платформы и версии используются, и на основе этого принимать решения о функциях Firebase.

FirebaseCore

  • Не собирает данные.

GoogleUtilities

  • Не собирает данные, но включает сетевые утилиты, которые могут использоваться другими SDK для сбора данных.

GoogleDataTransport

Включает сетевые утилиты, которые могут использоваться другими SDK для сбора данных.

Собирается всегда

  • Собирает метаданные о производительности SDK, такие как размер кеша событий журнала клиента и количество событий журнала клиента, отброшенных по разным причинам, для мониторинга и поддержания качества продукта.

FirebaseABTesting

A/B-тестирование не собирает данные.

SDK Firebase A/B Testing задает и использует свойства пользователей Google Analytics, чтобы определить принадлежность к экспериментальным группам для Firebase Remote Config и Firebase In-App Messaging.

FirebaseAILogic

Ранее Firebase AI Logic назывался Vertex AI in Firebase с библиотекой FirebaseVertexAI. Кроме того, в Firebase AI Logic раньше была библиотека FirebaseAI.

Собирается всегда

  • Собирает данные о версии Firebase SDK и версии языка Swift.
  • Собирает название модели при вызове.

Собираются по умолчанию

  • Если включен сбор данных, собирает идентификатор приложения Firebase Apple и версию приложения.

Зависит от использования

  • Если для Agent Platform Gemini API (formerly Vertex AI) включен ИИ-мониторинг в консоли Firebase, то запросы и сгенерированные ответы из каждого выбранного запроса собираются вместе с показателями производительности и использования.

Google Analytics

Информацию о сборе данных в Google Analytics можно найти в этой статье Справочного центра.

FirebaseAppCheck

Собираются по умолчанию

Зависит от использования

  • Если поставщик DeviceCheck установлен, собирает токен DCDevice из DeviceCheck.

  • Если поставщик App Attest установлен, собирает объект подтверждения и объект утверждения из App Attest.

  • Если поставщик reCAPTCHA Enterprise установлен, собирает токен reCAPTCHA, вызывая SDK reCAPTCHA Enterprise. В свою очередь, SDK reCAPTCHA Enterprise собирает данные, как описано в сведениях о конфиденциальности Apple.

FirebaseAppDistribution

SDK App Distribution предназначен только для бета-тестирования. Не включайте SDK App Distribution в свое приложение при отправке в магазин приложений.

FirebaseAuthentication

Собирается всегда

  • Генерирует и хранит идентификаторы для аутентификации пользователей.

Собираются по умолчанию

Зависит от использования

  • Собирает отображаемое имя, если разработчик предоставляет его для пользователя.
  • Собирает адреса электронной почты пользователей, предоставленные разработчиком при использовании аутентификации по паролю или ссылке, отправленной по электронной почте, или содержащиеся в ответе от федеративного поставщика, если разработчик использует федеративную идентификацию.
  • Собирает номера телефонов пользователей, предоставленные разработчиком при использовании аутентификации по номеру телефона или если номер телефона пользователя добавлен в качестве способа аутентификации. Также собирается во время двухфакторной аутентификации с помощью SMS.
  • Собирает контактную информацию, связанную со сторонними поставщиками аутентификации, если разработчик использует стороннего поставщика аутентификации с Firebase Authentication. Например, идентификатор пользователя может быть связан с его профилем в Facebook, если разработчик использует аутентификацию Facebook, в зависимости от предоставленных областей действия. Дополнительную информацию можно найти в документации поставщика услуг аутентификации.
  • Хранит идентификатор пользователя в Game Center, если приложение связано с этим сервисом.
  • Собирает этот токен, если ваше приложение использует reCAPTCHA Enterprise для защиты процессов Authentication. Ознакомьтесь с дополнительной информацией о конфиденциальности Apple для reCAPTCHA Enterprise.

FirebaseCrashlytics

Собирается всегда

Зависит от использования

  • Собирает специальные ключи, журналы и идентификаторы пользователей в виде текста, которые разработчики прикрепляют к отчетам о сбоях. Также собирает данные о любых заданных разработчиком некритических ошибках с пользовательскими трассировками стека.
  • Собирает журналы навигации, если Crashlytics используется вместе с Google Analytics. В них указываются действия пользователей, которые предшествовали сбою, и количество сбоев.
  • Собирает определенные разработчиком части шаблона Remote Config и метаданные шаблона, если в приложение также включен SDK Firebase Remote Config. Эти данные включают версию шаблона Remote Config, идентификатор варианта развертывания, ключи параметров и значения параметров, на которые влияют активные развертывания.

FirebaseDatabase

Собираются по умолчанию

FirebaseDataConnect

Собираются по умолчанию

Если сбор данных включен:

  • Собирает данные об агенте пользователя Firebase.
  • Собирает информацию о том, используется ли локальное создание кода для SQL Connect. Для этого проверяется, поступают ли запросы к сервису SQL Connect из кода, созданного генератором кода, или из SDK SQL Connect.
  • Собирает идентификатор приложения Firebase (не идентификатор пакета приложения). Это значение включается в заголовок каждого запроса.
  • Временно собирает данные об устройстве, включая размер экрана, язык, версию ОС, идентификатор пакета, IP-адрес и версию Firebase SDK, для отложенных ссылок на контент (ссылок на контент после установки приложения).
  • Временно собирает URL динамической ссылки в буфере обмена устройства, если он доступен, при первом запуске приложения. Разработчики могут отключить использование Pasteboard, задав для свойства FirebaseDeepLinkPasteboardRetrievalEnabled значение NO в файле Info.plist приложения.

Если Dynamic Links используется вместе с Google Analytics:

  • Автоматически регистрирует события взаимодействия со ссылками через Google Analytics. Чтобы отключить автоматическую регистрацию событий, удалите FirebaseAnalytics из приложения.

FirebaseFirestore

Собираются по умолчанию

FirebaseFunctions

Собирается всегда

  • Собирает метаданные вызова функции, включая название функции и IP-адрес вызывающего абонента.

FirebaseInAppMessaging

Собирается всегда

  • Регистрирует взаимодействия с сообщениями в приложении. Эти взаимодействия (показы, клики, закрытия) регистрируются с помощью Google Analytics. Firebase также регистрирует взаимодействия, чтобы помочь разработчикам оценить эффективность кампаний по рассылке сообщений.

FirebaseInstallations

Собираются по умолчанию

FirebaseMessaging

Собирается всегда

  • Регистрирует токен APNs и связывает его с собранным идентификатором установки приложения, который действует как токен регистрации Firebase Cloud Messaging (FCM).
  • Собирает данные о модели устройства, языке, часовом поясе, версии ОС, идентификаторе и версии приложения для подписки на темы и отказа от нее.

Собираются по умолчанию

Зависит от использования

Если Cloud Messaging используется вместе с Google Analytics:

  • Автоматически регистрирует взаимодействия с уведомлениями через Google Analytics. Чтобы отключить эту функцию, удалите FirebaseAnalytics из приложения.

FirebaseMLModelDownloader (поддержка прекращена)

Собирается всегда

  • Собирает метаданные о скачивании моделей машинного обучения, например о событиях скачивания и удаления, а также об ошибках.

FirebasePerformance

Собирается всегда

  • Собирает IP-адреса, чтобы сегментировать данные об эффективности по географическому признаку.
  • Собирает показатели производительности приложения, такие как время запуска приложения и задержка сетевого запроса, а также указанные разработчиком пользовательские трассировки для измерения производительности приложения.
  • Собирает данные об использовании ЦП и памяти приложением, чтобы показать его производительность на временной шкале.
  • Собирает информацию об устройстве, ОС и приложении, чтобы фильтровать данные об эффективности по разным сегментам устройств.

FirebaseRemoteConfig

Собирается всегда

  • Собирает код страны, код языка, часовой пояс, версию ОС, идентификатор приложения Firebase Apple и идентификатор пакета, чтобы настраивать таргетинг на основе этих данных. Версии ОС и SDK также собираются и агрегируются, чтобы мы могли анализировать тенденции использования и принимать решения о развитии продукта.

Собираются по умолчанию

Зависит от использования

Если Remote Config используется вместе с Google Analytics:

  • Собирает свойства пользователей, полученные с помощью Firebase SDK для Google Analytics, чтобы настраивать таргетинг на основе условий, связанных со свойствами пользователей.
  • Собирает временную метку события first_open, полученную Firebase SDK для Google Analytics, чтобы настраивать таргетинг на параметры, основанные на времени первого открытия.

Если используется персонализация Remote Config:

  • Данные, полученные с помощью SDK Firebase Remote Config, и события, полученные с помощью Firebase SDK для Google Analytics, можно использовать для создания предиктивных моделей и оценки их эффективности.

FirebaseSessions

Собирается всегда

  • Собирает метаданные о производительности приложения, такие как идентификатор пакета, информация об ОС, версия SDK и тип сетевого подключения, чтобы отслеживать качество приложения.
  • Собирает данные об использовании, например время, когда приложение было переведено в фоновый режим, чтобы сгруппировать показатели эффективности по сеансам пользователей и фильтровать данные об использовании по сеансам.

FirebaseStorage

Собираются по умолчанию