Avant de commencer
Si ce n'est pas encore fait, ajoutez Firebase à votre projet Apple.
Étape 1 : Ajouter Performance Monitoring à votre application
Une fois que vous avez ajouté le SDK Performance Monitoring, Firebase commence automatiquement à collecter des données pour l'affichage de l'écran de votre application, les données liées au cycle de vie de votre application (comme son heure de début) et les données pour les requêtes réseau HTTP/S.
Utilisez Swift Package Manager pour installer et gérer les dépendances Firebase.
- Dans Xcode, à partir de votre projet d'application ouvert, accédez à File > Add Packages (Fichier > Ajouter des packages).
- Lorsque vous y êtes invité, ajoutez le dépôt du SDK des plates-formes Firebase pour Apple :
- Choisissez la bibliothèque Performance Monitoring.
- Ajoutez l'indicateur
-ObjC
à la section Other Linker Flags (Autres indicateurs Linker) des paramètres de compilation de votre cible. - Lorsque vous avez terminé, Xcode commence à résoudre et à télécharger automatiquement vos dépendances en arrière-plan.
https://github.com/firebase/firebase-ios-sdk.git
Configurez ensuite le module Firebase :
- Importez le module
FirebaseCore
dans votreUIApplicationDelegate
, ainsi que dans tout autre module Firebase utilisé par votre délégué d'application. Par exemple, pour utiliser Cloud Firestore et Authentication :SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Configurez une instance partagée
FirebaseApp
dans la méthodeapplication(_:didFinishLaunchingWithOptions:)
de votre délégué d'application :SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- Si vous utilisez SwiftUI, vous devez créer un délégué d'application et l'associer à votre struct
App
viaUIApplicationDelegateAdaptor
ouNSApplicationDelegateAdaptor
. Vous devez également désactiver le mélange des délégués d'application. Pour en savoir plus, consultez les instructions de SwiftUI.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
Recompilez votre application.
Étape 2 : Générer des événements de performances pour l'affichage initial des données
Firebase commence à traiter les événements lorsque vous avez correctement ajouté le SDK à votre application. Si vous êtes toujours en cours de développement local, interagissez avec votre application pour générer des événements afin de collecter et de traiter les données de manière initiale.
Poursuivez le développement de votre application à l'aide d'un simulateur ou d'un appareil de test.
Générez des événements en basculant votre application entre l'arrière-plan et l'avant-plan plusieurs fois, en interagissant avec votre application en parcourant les écrans et/ou en déclenchant des requêtes réseau.
Accédez au tableau de bord des performances de la console Firebase. Vos données initiales doivent s'afficher au bout de quelques minutes.
Si vos données initiales ne s'affichent pas, consultez les conseils de dépannage.
Étape 3 : (Facultatif) Afficher les messages de journal pour les événements de performances
Activez la journalisation du débogage comme suit :
- Dans Xcode (version 15.2 minimum), sélectionnez Product (Produit) > Scheme (Schéma) > Edit scheme (Modifier le schéma).
- Sélectionnez Exécuter dans le menu de gauche, puis l'onglet Arguments.
- Dans la section Arguments transmis au lancement, ajoutez
-FIRDebugEnabled
.
Recherchez d'éventuels messages d'erreur dans les messages de journal.
Performance Monitoring tague ses messages de journal avec
Firebase/Performance
afin que vous puissiez les filtrer.Recherchez les types de journaux suivants, qui indiquent que Performance Monitoring consigne des événements de performances :
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
Cliquez sur l'URL pour afficher vos données dans la console Firebase. La mise à jour des données dans le tableau de bord peut prendre quelques instants.
Si votre application ne consigne pas d'événements de performances, consultez les conseils de dépannage.
Étape 4 : (Facultatif) Ajouter une surveillance personnalisée pour un code spécifique
Pour surveiller les données de performances associées à un code spécifique dans votre application, vous pouvez instrumenter les traces de code personnalisées.
Avec une trace de code personnalisée, vous pouvez mesurer le temps nécessaire à votre application pour effectuer une tâche ou un ensemble de tâches spécifiques, comme charger un ensemble d'images ou interroger votre base de données. La métrique par défaut d'une trace de code personnalisée est sa durée, mais vous pouvez également ajouter des métriques personnalisées, telles que les enregistrements dans le cache et les avertissements de mémoire.
Dans votre code, vous définissez le début et la fin d'une trace de code personnalisée (et ajoutez les métriques personnalisées souhaitées) à l'aide de l'API fournie par le SDK Performance Monitoring.
Consultez Ajouter la surveillance d'un code spécifique pour en savoir plus sur ces fonctionnalités et découvrir comment les ajouter à votre application.
Étape 5: Déployer l'application, puis examiner les résultats
Après avoir validé Performance Monitoring à l'aide du simulateur Xcode et d'un ou plusieurs appareils de test, vous pouvez déployer la version mise à jour de votre application auprès de vos utilisateurs.
Vous pouvez surveiller les données sur les performances dans le tableau de bord des performances de la console Firebase.
Problèmes connus
- Performance Monitoring présente des problèmes de compatibilité connus avec GTMSQLite. Nous vous recommandons de ne pas utiliser Performance Monitoring avec les applications qui utilisent GTMSQLite.
- Le mélange de méthodes après l'appel de
FirebaseApp.configure()
peut interférer avec le SDK Performance Monitoring. - Des problèmes connus avec le simulateur iOS 8.0 à 8.2 empêchent Performance Monitoring de capturer les événements de performances. Ces problèmes sont résolus dans le simulateur iOS 8.3 et les versions ultérieures.
- Les connexions établies à l'aide de
backgroundSessionConfiguration
d'NSURLSession afficheront des temps de connexion plus longs que prévu. Ces connexions sont exécutées en dehors du processus, et les délais reflètent les événements de rappel en cours de processus.
Étapes suivantes
Examinez et exécutez l'exemple de code iOS Performance Monitoring sur GitHub.
En savoir plus sur les données collectées automatiquement par Performance Monitoring :
- Données liées au cycle de vie de votre application, comme le temps de démarrage de l'application
- Données sur le rendu de l'écran dans votre application
- Données sur les requêtes réseau HTTP/S émises par votre application
Affichez, suivez et filtrez vos données de performances dans la console Firebase.
Ajoutez la surveillance de tâches ou de workflows spécifiques dans votre application en instrumentant les traces de code personnalisées.