Compatibilidad con iOS 14

Con iOS 14.5, Apple requiere que los desarrolladores reciban el permiso del usuario a través del marco de transparencia de seguimiento de aplicaciones para rastrearlos o acceder al identificador de publicidad de su dispositivo (IDFA). Consulte la documentación de Privacidad del usuario y uso de datos de Apple y la documentación de Transparencia de seguimiento de aplicaciones de Apple para obtener más detalles.

Productos de Firebase afectados

Los SDK de Firebase no acceden a IDFA, aunque algunos tienen integraciones con Google Analytics que pueden implicar acceso a IDFA.

La siguiente tabla enumera los productos de Firebase que están disponibles en las plataformas Apple y describe cómo se ve afectada la funcionalidad de cada producto si no se puede acceder a IDFA.

Producto Impacto si IDFA no es accesible
Pruebas A/B Algunos datos de orientación (como los datos demográficos) en la integración de las pruebas A/B con Google Analytics se derivan del IDFA. En aplicaciones sin acceso al IDFA, esta orientación no está disponible.
Verificación de aplicaciones Sin impacto
Distribución de aplicaciones Sin impacto
Autenticación No hay impacto en la autenticación y en los proveedores de autenticación propios, como el inicio de sesión de Google y la autenticación telefónica.
Crashlíticos Sin impacto. La integración de Crashlytics con Google Analytics, que proporciona datos de fallos y rutas de navegación en tiempo real, no depende del IDFA.
Enlaces dinámicos No hay impacto en la funcionalidad de apertura de enlaces. Cuando se utiliza con Google Analytics, la atribución de eventos de conversión de enlaces no está disponible.
Tienda de fuego en la nube Sin impacto
Funciones de la nube Sin impacto
Mensajería en la aplicación Sin impacto
Instalaciones de base de fuego Sin impacto
ID de instancia Sin impacto
Mensajería en la nube Cuando se utiliza con Google Analytics, Google Analytics registrará automáticamente algunos eventos de conversión relacionados con FCM. La atribución de estos eventos requiere acceso IDFA.
ML de base de fuego Sin impacto
Supervisión del rendimiento Sin impacto
Configuración remota Cuando se utiliza con Google Analytics, Remote Config no permite propiedades de usuario creadas automáticamente para la orientación sin acceso IDFA.
Base de datos en tiempo real Sin impacto
Almacenamiento en la nube Sin impacto

Integraciones de Firebase afectadas

La siguiente tabla enumera los productos integrados en Firebase que se ven afectados si no se puede acceder a IDFA.

Producto Impacto si IDFA no es accesible
Google analitico El registro de eventos de Analytics, los informes de eventos y la medición de conversiones no se ven afectados, pero la atribución sí se ve afectada si no se puede acceder a IDFA. Para obtener más información sobre la respuesta de Google a iOS 14, consulte nuestra publicación de blog .

Solicitar permiso de seguimiento de aplicaciones en iOS 14

Si desea que su aplicación Apple pueda acceder a IDFA, puede agregar el marco de transparencia de seguimiento de aplicaciones de Apple a su aplicación y solicitar permiso para rastrear o acceder al IDFA de sus usuarios.

Muchas aplicaciones optan por presentar una pantalla de calentamiento o explicativa antes de solicitar permiso. La pantalla explicativa le permite brindar a los usuarios más contexto sobre cómo su aplicación usa IDFA antes de solicitar acceso.

Si es editor de aplicaciones de AdMob o Ad Manager, considere utilizar Funding Choices , que se encarga de obtener el consentimiento para publicar anuncios personalizados, así como el consentimiento para rastrear al usuario automáticamente según las pautas de Apple. Consulte la página Consentimiento de AdMob con mensajes de usuario para obtener más detalles.

La siguiente guía proporciona una solución que utiliza Firebase In-App Messaging para crear y mostrar una pantalla explicativa antes de solicitar acceso de seguimiento a través de App Tracking Transparency.

Agregue mensajería dentro de la aplicación a su aplicación

Siga las instrucciones para agregar mensajería dentro de la aplicación a su aplicación Apple .

Manejar el rechazo de mensajes en la aplicación

Primero, evite mostrar la pantalla explicativa en dispositivos que no pueden presentar el cuadro de diálogo de consentimiento, como los dispositivos que ejecutan iOS 13. Asegúrese de que este código se ejecute inmediatamente después de FirebaseApp.configure() .

Rápido

if NSClassFromString("ATTrackingManager") == nil {
  // Avoid showing the App Tracking Transparency explainer if the
  // framework is not linked.
  InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}

Implemente el protocolo InAppMessagingDisplayDelegate para manejar eventos cuando el usuario cierra la pantalla explicativa. Si el usuario toca Aceptar, muestra el mensaje del sistema a través del marco de transparencia de seguimiento de aplicaciones.

Rápido

// 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
  }
}

Crear una campaña de mensajería en la aplicación

Una vez que el código esté implementado en su aplicación, cree un mensaje en la aplicación en Firebase console.

  1. En Firebase console , crea una nueva campaña de mensajería dentro de la aplicación.
  2. Complete los mensajes dentro de la aplicación con el contenido que desee y configure el mensaje para que se active en el evento app_launch .
  3. En la sección Orientación , asegúrese de que la campaña se oriente únicamente a la versión más reciente de su aplicación y superiores.

Puede personalizar la apariencia de la pantalla explicativa siguiendo las instrucciones en la documentación de mensajería dentro de la aplicación .

Opcional: Prueba A/B de diferentes pantallas explicativas

La mensajería en la aplicación tiene una integración incorporada con Firebase A/B Testing , que puedes usar para experimentar con diferentes pantallas explicativas.

Firebase A/B Testing crea automáticamente grupos de experimentos y te ayuda a visualizar cómo los usuarios interactúan con diferentes variantes de tu aplicación.

Registrar permisos de seguimiento de aplicaciones

Si no registró un evento de Google Analytics al manejar la respuesta de permisos de seguimiento de la aplicación, deberá hacerlo para medir los cambios en la tasa de respuesta al ejecutar un experimento A/B.

Rápido

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.
  }
}

Crear un nuevo evento de conversión

En la sección Análisis de Firebase console, navegue hasta el menú Conversiones y luego agregue un nuevo evento de conversión con el mismo nombre que el evento registrado con el código de muestra anterior.

Crear un nuevo experimento

En el menú de mensajería dentro de la aplicación de la consola, haga clic en Nuevo experimento y luego siga las instrucciones en las pantallas resultantes.

  • En la sección Orientación , asegúrese de que la campaña se oriente únicamente a la versión más reciente de su aplicación y superiores.
  • En la sección Objetivos , seleccione el evento de conversión que creó con el código de muestra anterior, así como cualquier otra métrica que desee realizar un seguimiento.

Una vez que haya publicado su experimento, deberá recopilar datos durante algún tiempo antes de que pueda producir resultados concluyentes.

Lea la documentación de Firebase A/B Testing para obtener información sobre cómo monitorear un experimento e implementar una variante exitosa.