Compatibilité avec iOS 14

Avec iOS 14.5, Apple exige que les développeurs obtiennent l'autorisation de l'utilisateur via le framework App Tracking Transparency pour le suivre ou accéder à l'identifiant publicitaire de son appareil (IDFA). Pour en savoir plus, consultez les pages User Privacy and Data Use (Confidentialité des utilisateurs et utilisation des données) et App Tracking Transparency (Transparence du suivi des applications) d'Apple.

Produits Firebase concernés

Les SDK Firebase n'accèdent pas à l'IDFA, mais certains sont intégrés à Google Analytics ce qui peut impliquer un accès à l'IDFA.

Le tableau ci-dessous répertorie les produits Firebase disponibles sur les plates-formes Apple et décrit l'impact sur la fonctionnalité de chaque produit si l'IDFA n'est pas accessible.

Produit Impact si l'IDFA n'est pas accessible
A/B Testing Certaines données de ciblage (comme les données démographiques) de l'intégration A/B Testing avec Google Analytics sont dérivées de l'IDFA. Dans les applications sans accès à l'IDFA, ce ciblage n'est pas disponible.
Firebase AI Logic 1 Aucun impact
App Check Aucun impact
App Distribution Aucun impact
Authentication Aucun impact sur Authentication et les fournisseurs Authentication propriétaires, tels que la connexion avec Google et l'authentification par téléphone.
Cloud Firestore Aucun impact
Cloud Functions Aucun impact
Cloud Messaging Lorsqu'il est utilisé avec Google Analytics, Google Analytics enregistre automatiquement certains événements de conversion liés à FCM. L'attribution de ces événements nécessite un accès à l'IDFA.
Cloud Storage Aucun impact
Crashlytics Aucun impact. L'Crashlytics intégration avec Google Analytics qui fournit des données sur les plantages en temps réel et des breadcrumbs ne dépend pas de l' IDFA.
Dynamic Links Aucun impact sur la fonctionnalité d'ouverture des liens. Lorsqu'il est utilisé avec Google Analytics, l'attribution des événements de conversion de liens n'est pas disponible.
In-App Messaging Aucun impact
Installations Firebase Aucun impact
InstanceID Aucun impact
Firebase ML Aucun impact
Performance Monitoring Aucun impact
Realtime Database Aucun impact
Remote Config Lorsqu'il est utilisé avec Google Analytics, Remote Config n'autorise pas les propriétés utilisateur créées automatiquement pour le ciblage sans accès à l'IDFA.

1 Firebase AI Logic s'appelait auparavant "Vertex AI in Firebase".

Intégrations Firebase concernées

Le tableau ci-dessous répertorie les produits intégrés à Firebase qui sont concernés si l'IDFA n'est pas accessible.

Produit Impact si l'IDFA n'est pas accessible
Google Analytics Analytics L'enregistrement des événements, les rapports d'événements et la mesure des conversions ne sont pas affectés, mais l'attribution l'est si l'IDFA n'est pas accessible. Pour en savoir plus sur la réponse de Google à iOS 14, consultez notre article de blog.

Demander l'autorisation de suivi des applications sur iOS 14

Si vous souhaitez que votre application Apple puisse accéder à l'IDFA, vous pouvez ajouter le framework App Tracking Transparency d'Apple à votre application et demander l'autorisation de suivre ou d'accéder à l'IDFA de vos utilisateurs.

De nombreuses applications choisissent de présenter un écran explicatif avant de demander l'autorisation. L'écran explicatif vous permet de fournir plus de contexte aux utilisateurs sur la façon dont votre application utilise l'IDFA avant de demander l'accès.

Si vous êtes un éditeur d'applications AdMob ou Ad Manager, envisagez d'utiliser Funding Choices, qui gère automatiquement l'obtention du consentement pour la diffusion d'annonces personnalisées, ainsi que le consentement pour le suivi de l'utilisateur conformément aux consignes d'Apple. Pour en savoir plus, consultez la page AdMob Consentement avec les messages utilisateur.

Le guide suivant fournit une solution utilisant Firebase In-App Messaging pour créer et afficher un écran explicatif avant de demander l'accès au suivi via App Tracking Transparency.

Ajouter In-App Messaging à votre application

Suivez les instructions pour ajouter In-App Messaging à votre application Apple.

Gérer la fermeture des messages dans l'application

Tout d'abord, évitez d'afficher l'écran explicatif sur les appareils qui ne peuvent pas présenter la boîte de dialogue de consentement, tels que les appareils exécutant iOS 13. Assurez-vous que ce code s'exécute immédiatement après FirebaseApp.configure().

Swift

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

Implémentez le protocole InAppMessagingDisplayDelegate pour gérer les événements lorsque l'utilisateur ferme l'écran explicatif. Si l'utilisateur appuie sur "OK", affichez l'invite système via le framework App Tracking Transparency.

Swift

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

Créer une campagne In-App Messaging

Une fois le code en place dans votre application, créez un message dans l'application dans la Firebase console.

  1. Dans la Firebase console, créez une nouvelle In-App Messaging campagne.
  2. Remplissez les messages dans l'application avec le contenu souhaité et configurez le message pour qu'il se déclenche lors de l'événement app_launch.
  3. Dans la section Ciblage, assurez-vous que la campagne ne cible que la version la plus récente de votre application et les versions ultérieures.

Vous pouvez personnaliser l'apparence de l'écran explicatif en suivant les instructions de la In-App Messaging documentation.

Facultatif : tester différentes écrans explicatifs avec des tests A/B

In-App Messaging est intégré à Firebase A/B Testing, que vous pouvez utiliser pour tester différents écrans explicatifs.

Firebase A/B Testing crée automatiquement des groupes de test et vous aide à visualiser l'interaction des utilisateurs avec différentes variantes de votre application.

Enregistrer les autorisations de suivi des applications

Si vous n'avez pas enregistré d'événement Google Analytics lors de la gestion de la réponse aux autorisations de suivi des applications, vous devrez le faire pour mesurer les modifications du taux de réponse lors de l'exécution d'un test A/B.

Swift

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

Créer un événement de conversion

Dans la Analytics section de la console Firebase, accédez au menu Conversions, puis ajoutez un nouvel événement de conversion portant le même nom que l'événement enregistré avec l'exemple de code ci-dessus.

Créer un test

Dans le menu In-App Messaging de la console, cliquez sur Nouveau test, puis suivez les instructions qui s'affichent.

  • Dans la section Ciblage, assurez-vous que la campagne ne cible que la version la plus récente de votre application et les versions ultérieures.
  • Dans la section Objectifs , sélectionnez l'événement de conversion que vous avez créé avec l'exemple de code ci-dessus, ainsi que toutes les autres métriques que vous souhaitez suivre.

Une fois que vous avez publié votre test, vous devez collecter des données pendant un certain temps avant de pouvoir obtenir des résultats concluants.

Pour savoir comment surveiller un test et déployer une variante efficace, consultez la Firebase A/B Testing documentation.