Avant que tu commences
Si vous ne l'avez pas déjà fait, ajoutez Firebase à votre projet Apple .
Étape 1 : ajoutez la surveillance des performances à votre application
Après avoir ajouté le SDK de surveillance des performances, Firebase commence automatiquement à collecter des données pour le rendu de l'écran de votre application, des données liées au cycle de vie de votre application (comme l'heure de démarrage de l'application ) et des 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, avec votre projet d'application ouvert, accédez à File > Add Packages .
- Lorsque vous y êtes invité, ajoutez le référentiel SDK des plates-formes Apple Firebase :
- Choisissez la bibliothèque de surveillance des performances.
- Ajoutez l'indicateur
-ObjC
à la section Autres indicateurs de l'éditeur de liens des paramètres de construction de votre cible. - Une fois terminé, Xcode commencera automatiquement à résoudre et à télécharger vos dépendances en arrière-plan.
https://github.com/firebase/firebase-ios-sdk.git
Ensuite, configurez le module Firebase :
- Importez le module
FirebaseCore
dans votreUIApplicationDelegate
, ainsi que tous les autres modules Firebase utilisés par votre délégué d'application. Par exemple, pour utiliser Cloud Firestore et l'authentification :SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Rapide
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objectif 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()
Rapide
// Use Firebase library to configure APIs FirebaseApp.configure()
Objectif 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'attacher à votre structure
App
viaUIApplicationDelegateAdaptor
ouNSApplicationDelegateAdaptor
. Vous devez également désactiver le swizzling des délégués d’application. Pour plus d'informations, consultez les instructions 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 ajoutez avec succès le SDK à votre application. Si vous développez toujours localement, interagissez avec votre application pour générer des événements pour la collecte et le traitement initial des données.
Continuez à développer votre application à l’aide d’un simulateur ou d’un appareil de test.
Générez des événements en basculant plusieurs fois votre application entre l'arrière-plan et le premier plan, en interagissant avec votre application en naviguant sur les écrans et/ou en déclenchant des requêtes réseau.
Accédez au tableau de bord Performances de la console Firebase. Vous devriez voir vos données initiales s’afficher dans quelques minutes.
Si vous ne voyez pas d'affichage de vos données initiales, consultez les conseils de dépannage .
Étape 3 : (Facultatif) Afficher les messages du journal pour les événements de performances
Activez la journalisation du débogage, comme suit :
- Dans Xcode (v14.1 minimum), sélectionnez Product > Scheme > Edit Scheme .
- Sélectionnez Exécuter dans le menu de gauche, puis sélectionnez l'onglet Arguments .
- Dans la section Arguments transmis au lancement , ajoutez
-FIRDebugEnabled
.
Vérifiez vos messages de journal pour tout message d'erreur.
Performance Monitoring balise ses messages de journal avec
Firebase/Performance
afin que vous puissiez filtrer vos messages de journal.Recherchez les types de journaux suivants qui indiquent que Performance Monitoring enregistre les é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 n'enregistre pas les événements de performances, consultez les conseils de dépannage .
Étape 4 : (Facultatif) Ajoutez 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 des 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écifique, comme le chargement d'un ensemble d'images ou l'interrogation de 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 accès au 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é (et ajoutez toutes les métriques personnalisées souhaitées) à l'aide de l'API fournie par le SDK de surveillance des performances.
Consultez Ajouter une surveillance pour un code spécifique pour en savoir plus sur ces fonctionnalités et comment les ajouter à votre application.
Étape 5 : Déployez votre application puis examinez les résultats
Après avoir validé la surveillance des performances à 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 de performances dans le tableau de bord 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 la surveillance des performances avec les applications qui utilisent GTMSQLite.
- Le tourbillonnement de la méthode après l'appel
FirebaseApp.configure()
peut interférer avec le SDK de surveillance des performances. - 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
de NSURLSession présenteront des temps de connexion plus longs que prévu. Ces connexions sont exécutées hors processus et les timings reflètent les événements de rappel en cours.
Prochaines étapes
Examinez et exécutez l’ exemple de code iOS de surveillance des performances 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 l'heure de démarrage de l'application
- Données pour le rendu d'écran dans votre application
- Données pour 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 une surveillance pour des tâches ou des flux de travail spécifiques dans votre application en instrumentant des traces de code personnalisées .
Utilisez des attributs pour filtrer les données de performances .