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 de leur appareil (IDFA). Consultez la documentation d'Apple sur la confidentialité et l'utilisation des données de l'utilisateur 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 comment la fonctionnalité de chaque produit est affectée si l'IDFA n'est pas accessible.
Produit | Impact si l'IDFA n'est pas accessible |
---|---|
Test 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 par téléphone. |
Crashlytics | Aucun impact. L'intégration de Crashlytics à Google Analytics, qui fournit des données de plantage en temps réel et des fils d'Ariane, ne dépend pas de l'IDFA. |
Liens dynamiques | Aucun impact sur la fonctionnalité d'ouverture de lien. Lorsqu'il est utilisé avec Google Analytics, l'attribution pour les é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 en nuage | 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 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 sur les é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 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 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 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 de publicités personnalisées ainsi que le consentement pour le suivi 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 Firebase In-App Messaging 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 à votre application
Suivez les instructions pour ajouter la messagerie intégrée à 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 afficher 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 App Tracking Transparency.
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 intégrée à l'application
Une fois le code en place dans votre application, créez un message intégré à l'application dans la console Firebase.
- Dans la console Firebase , créez une nouvelle campagne de messagerie intégrée à l'application.
- Remplissez les messages intégrés à l'application avec le contenu souhaité et définissez le message à déclencher sur l'événement
app_launch
. - Dans la section Ciblage , assurez-vous que la campagne ne cible que la version la plus récente de votre application et au-dessus.
Vous pouvez personnaliser l'apparence de l'écran explicatif en suivant les instructions de la documentation de la messagerie intégrée à l'application .
Facultatif : test A/B de différents écrans explicatifs
La messagerie intégrée à l'application a 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 de test 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 de la gestion de la réponse des autorisations de suivi des applications, 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 consigné 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 ne cible que la version la plus récente de votre application et au-dessus.
- 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 statistique que vous souhaitez suivre.
Une fois que vous avez 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.