Prise en charge d'iOS 14

Avec iOS 14.5, Apple exige que les développeurs reçoivent l'autorisation de l'utilisateur via le cadre App Tracking Transparency pour les suivre ou accéder à l'identifiant publicitaire (IDFA) de leur appareil. Consultez la documentation sur la confidentialité des utilisateurs et l'utilisation des données d'Apple et sur la transparence du suivi des applications d'Apple pour plus de détails.

Produits Firebase concernés

Les SDK Firebase n'accèdent pas à l'IDFA, bien que certains aient des intégrations avec Google Analytics qui peuvent 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
Tests A/B Certaines données de ciblage (comme les données démographiques) dans l'intégration des tests A/B avec Google Analytics sont dérivées de l'IDFA. Dans les applications sans accès à l'IDFA, ce ciblage n'est pas disponible.
Vérification de l'application Aucun impact
Distribution d'applications Aucun impact
Authentification Aucun impact sur les fournisseurs d'authentification et d'authentification propriétaires, tels que Google Sign-In et l'authentification téléphonique.
Crashlytiques Aucun impact. L'intégration de Crashlytics avec Google Analytics qui fournit des données de crash et un fil d'Ariane en temps réel ne dépend pas de l'IDFA.
Liens dynamiques Aucun impact sur la fonctionnalité d'ouverture de lien. Lorsqu'elle est utilisée avec Google Analytics, l'attribution des événements de conversion de lien n'est pas disponible.
Cloud Firestore Aucun impact
Fonctions cloud Aucun impact
Messagerie intégrée à l'application Aucun impact
Installations Firebase Aucun impact
ID d'instance Aucun impact
Messagerie cloud Lorsqu'il est utilisé avec Google Analytics, Google Analytics enregistrera automatiquement certains événements de conversion liés au FCM. L'attribution de ces événements nécessite un accès IDFA.
Firebase ML Aucun impact
Suivi de la performance Aucun impact
Configuration à distance 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 IDFA.
Base de données en temps réel Aucun impact
Stockage en ligne Aucun impact

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 La journalisation des événements Analytics, les rapports d'événements et la mesure des conversions ne sont pas affectés, mais l'attribution est affectée 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 une autorisation de suivi d'application sur iOS 14

Si vous souhaitez que votre application Apple puisse accéder à l'IDFA, vous pouvez ajouter le cadre de transparence du suivi des applications 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 d’échauffement ou d’explication avant de demander l’autorisation. L'écran explicatif vous permet de donner aux utilisateurs plus de contexte sur la façon dont votre application utilise 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 l'obtention du consentement pour la diffusion de publicités personnalisées ainsi que le consentement pour le suivi automatique de l'utilisateur conformément aux directives d'Apple. Consultez la page Consentement AdMob avec messagerie utilisateur pour plus de détails.

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

Ajoutez la messagerie intégrée à l'application à votre application

Suivez les instructions pour ajouter la messagerie intégrée à l'application à votre application Apple .

Gérer le rejet 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() .

Rapide

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 du système via le cadre de transparence du suivi des applications.

Rapide

// 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 de messagerie In-App

Une fois le code en place dans votre application, créez un message in-app dans la console Firebase.

  1. Dans la console Firebase , créez une nouvelle campagne de messagerie dans l'application.
  2. Remplissez les messages dans l'application avec le contenu souhaité et définissez 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 cible uniquement la version la plus récente de votre application et supérieure.

Vous pouvez personnaliser l'apparence de l'écran explicatif en suivant les instructions de la documentation sur la messagerie intégrée à l'application .

Facultatif : test A/B sur différents écrans explicatifs

La messagerie intégrée à l'application dispose d'une intégration intégrée avec Firebase A/B Testing , que vous pouvez utiliser pour expérimenter différents écrans explicatifs.

Firebase A/B Testing crée automatiquement des groupes d'expérimentation et vous aide à visualiser comment les utilisateurs interagissent avec les 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 du traitement de la réponse aux autorisations de suivi de l'application, vous devrez le faire pour mesurer les changements dans le taux de réponse lors de l'exécution d'une expérience A/B.

Rapide

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 nouvel événement de conversion

Dans la section Analytics 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 une nouvelle expérience

Dans le menu Messagerie intégrée à l'application de la console , cliquez sur Nouvelle expérience , puis suivez les instructions sur les écrans qui s'affichent.

  • Dans la section Ciblage , assurez-vous que la campagne cible uniquement la version la plus récente de votre application et supérieure.
  • Dans la section Objectifs , sélectionnez l'événement de conversion que vous avez créé avec l'exemple de code ci-dessus ainsi que toute autre métrique que vous souhaitez suivre.

Une fois que vous aurez publié votre expérience, celle-ci devra collecter des données pendant un certain temps avant de pouvoir produire des résultats concluants.

Lisez la documentation Firebase A/B Testing pour savoir comment surveiller une expérience et déployer une variante réussie.