Начиная с iOS 14.5, Apple требует от разработчиков получать разрешение пользователя через платформу App Tracking Transparency на отслеживание его действий или доступ к рекламному идентификатору устройства (IDFA). Более подробную информацию можно найти в документации Apple по конфиденциальности и использованию данных пользователей , а также в документации Apple по App Tracking Transparency .
Затронутые продукты Firebase
SDK Firebase не используют IDFA, хотя некоторые из них имеют интеграцию с Google Analytics , которая может включать доступ к IDFA.
В таблице ниже перечислены продукты Firebase, доступные на платформах Apple, и описано, как недоступность IDFA влияет на функциональность каждого продукта.
| Продукт | Последствия недоступности IDFA |
|---|---|
| A/B Testing | Некоторые данные для таргетинга (например, демографические данные) в интеграции A/B Testing с Google Analytics получаются из IDFA. В приложениях без доступа к IDFA этот таргетинг недоступен. |
| Firebase AI Logic 1 | Никакого воздействия |
| App Check | Никакого воздействия |
| App Distribution | Никакого воздействия |
| Authentication | Никаких изменений не коснется ни Authentication , ни собственных поставщиков Authentication , таких как Google Sign-In и Phone Authentication. |
| Cloud Firestore | Никакого воздействия |
| Cloud Functions | Никакого воздействия |
| Cloud Messaging | При использовании с Google Analytics , Google Analytics будет автоматически регистрировать некоторые события конверсии, связанные с FCM . Для отслеживания этих событий требуется доступ к IDFA. |
| Cloud Storage | Никакого воздействия |
| Crashlytics | Никакого влияния. Интеграция Crashlytics с Google Analytics , предоставляющая данные о сбоях в реальном времени и навигационную цепочку, не зависит от IDFA. |
| Dynamic Links | Это не повлияет на функциональность открытия ссылок. При использовании с Google Analytics отслеживание событий конверсии по ссылкам недоступно. |
| In-App Messaging | Никакого воздействия |
| Установка Firebase | Никакого воздействия |
| Идентификатор экземпляра | Никакого воздействия |
| Firebase ML | Никакого воздействия |
| Performance Monitoring | Никакого воздействия |
| Realtime Database | Никакого воздействия |
| Remote Config | При использовании с Google Analytics Remote Config не позволяет автоматически создавать свойства пользователей для таргетинга без доступа к IDFA. |
1. Ранее Firebase AI Logic назывался " Vertex AI in Firebase ".
Затронутые интеграции Firebase
В таблице ниже перечислены продукты, интегрированные с Firebase, на которые может повлиять недоступность IDFA.
| Продукт | Последствия недоступности IDFA |
|---|---|
| Google Analytics | Журналирование событий Analytics , отчеты о событиях и измерение конверсий остаются без изменений, но атрибуция пострадает, если IDFA недоступен. Чтобы узнать больше о реакции Google на iOS 14, ознакомьтесь с нашей статьей в блоге . |
Запрос разрешения на отслеживание приложения в iOS 14
Если вы хотите, чтобы ваше приложение Apple имело доступ к IDFA, вы можете добавить в него фреймворк Apple App Tracking Transparency и запросить разрешение на отслеживание или доступ к IDFA ваших пользователей.
Многие приложения перед запросом разрешения показывают вводный, или пояснительный, экран. Пояснительный экран позволяет предоставить пользователям больше контекста о том, как ваше приложение использует IDFA, прежде чем запрашивать доступ.
Если вы являетесь издателем приложений, использующих AdMob или Ad Manager, рассмотрите возможность использования Funding Choices , который автоматически обрабатывает получение согласия на показ персонализированной рекламы, а также согласия на отслеживание пользователя в соответствии с рекомендациями Apple. Более подробную информацию см. на странице «Согласие AdMob с помощью сообщений пользователю» .
В данном руководстве представлено решение с использованием Firebase In-App Messaging для создания и отображения пояснительного экрана перед запросом доступа к отслеживанию через App Tracking Transparency.
Добавьте In-App Messaging приложения.
Следуйте инструкциям, чтобы добавить In-App Messaging в ваше приложение Apple .
Обработка закрытия сообщений в приложении
Во-первых, избегайте отображения пояснительного экрана на устройствах, которые не могут показать диалоговое окно согласия, например, на устройствах под управлением iOS 13. Убедитесь, что этот код выполняется сразу после FirebaseApp.configure() .
Быстрый
if NSClassFromString("ATTrackingManager") == nil {
// Avoid showing the App Tracking Transparency explainer if the
// framework is not linked.
InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}
Реализуйте протокол InAppMessagingDisplayDelegate для обработки событий, возникающих при закрытии пользователем экрана с пояснениями. Если пользователь нажимает «ОК», отобразите системное сообщение с помощью фреймворка App Tracking Transparency.
Быстрый
// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
with action: InAppMessagingAction) {
switch action.actionText {
case "OK":
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Optionally, log an event when the user accepts.
Analytics.logEvent("tracking_authorized", parameters: nil)
case _:
// Optionally, log an event here with the rejected value.
}
}
case _:
// do nothing
}
}
Создайте кампанию In-App Messaging
После того, как код будет добавлен в ваше приложение, создайте внутриприложениевое сообщение в консоли Firebase .
- В консоли Firebase создайте новую кампанию In-App Messaging .
- Заполните внутриигровые сообщения желаемым содержимым и настройте отправку сообщения при событии
app_launch. - В разделе «Таргетинг» убедитесь, что кампания нацелена только на самую последнюю версию вашего приложения и выше.
Вы можете настроить внешний вид экрана с пояснениями, следуя инструкциям в документации In-App Messaging .
Дополнительно: проведите A/B-тестирование различных экранов с пояснениями.
Встроенная In-App Messaging интегрирована с Firebase A/B Testing , что позволяет экспериментировать с различными пояснительными экранами.
Firebase A/B Testing автоматически создает экспериментальные группы и помогает визуализировать взаимодействие пользователей с различными вариантами вашего приложения.
Запись разрешений на отслеживание приложения
Если вы не регистрировали событие Google Analytics при обработке ответа на запрос о разрешениях на отслеживание приложения, вам потребуется это сделать, чтобы измерить изменения в частоте ответов при проведении A/B-эксперимента.
Быстрый
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Optionally, log an event when the user accepts.
Analytics.logEvent("tracking_authorized", parameters: nil)
case _:
// Optionally, log an event here with the rejected value.
}
}
Создайте новое событие конверсии.
В разделе Analytics консоли Firebase перейдите в меню «Конверсии» , затем добавьте новое событие конверсии с тем же именем, что и событие, зарегистрированное с помощью приведенного выше примера кода.
Создайте новый эксперимент
В меню In-App Messaging консоли нажмите «Новый эксперимент» , а затем следуйте инструкциям на появившихся экранах.
- В разделе «Таргетинг» убедитесь, что кампания нацелена только на самую последнюю версию вашего приложения и выше.
- В разделе «Цели» выберите событие конверсии, созданное с помощью приведенного выше примера кода, а также любые другие показатели, которые вы хотели бы отслеживать.
После публикации результатов эксперимента потребуется некоторое время для сбора данных, прежде чем можно будет получить окончательные выводы.
Для получения информации о том, как отслеживать ход эксперимента и запускать успешный вариант теста, ознакомьтесь с документацией Firebase A/B Testing .