Inizia a utilizzare Performance Monitoring per le piattaforme Apple

Prima di iniziare

Se non lo hai già fatto, aggiungi Firebase al tuo progetto Apple.

Passaggio 1: aggiungi Performance Monitoring alla tua app

Dopo aver aggiunto l'SDK Performance Monitoring, Firebase inizia automaticamente a raccogliere i dati per il rendering dello schermo dell'app, i dati relativi al ciclo di vita dell'app (ad esempio il tempo di avvio dell'app) e i dati per le richieste di rete HTTP/S.

Utilizza Swift Package Manager per installare e gestire le dipendenze di Firebase.

  1. In Xcode, con il progetto dell'app aperto, vai a File > Add Packages (File > Aggiungi pacchetti).
  2. Quando richiesto, aggiungi il repository dell'SDK delle piattaforme Apple di Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Scegli la libreria Performance Monitoring.
  5. Aggiungi il flag -ObjC alla sezione Other Linker Flags (Altri flag del linker) delle impostazioni di compilazione del target.
  6. Al termine, Xcode inizierà automaticamente a risolvere e a scaricare le tue dipendenze in background.

Poi configura il modulo Firebase:

  1. Importa il modulo FirebaseCore in UIApplicationDelegate, nonché tutti gli altri moduli Firebase utilizzati dal delegato dell'app. Ad esempio, per utilizzare Cloud Firestore e 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;
    // ...
          
  2. Configura un'istanza condivisa nel metodo application(_:didFinishLaunchingWithOptions:) del delegato dell'app:FirebaseApp

    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];
  3. Se utilizzi SwiftUI, devi creare un delegato dell'applicazione e collegarlo alla struttura App tramite UIApplicationDelegateAdaptor o NSApplicationDelegateAdaptor. Devi anche disattivare lo swizzling del delegato dell'app. Per ulteriori informazioni, consulta le istruzioni di SwiftUI.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. Ricompila l'app.

Passaggio 2: genera eventi di prestazioni per la visualizzazione iniziale dei dati

Firebase inizia a elaborare gli eventi quando aggiungi correttamente l'SDK alla tua app. Se stai ancora sviluppando in locale, interagisci con l'app per generare eventi per la raccolta dei dati e l'elaborazione iniziale.

  1. Continua a sviluppare l'app utilizzando un simulatore o un dispositivo di test.

  2. Genera eventi passando più volte l'app in background e in primo piano, interagendo con l'app spostandoti tra le schermate e/o attivando le richieste di rete.

  3. Vai alla dashboard Prestazioni della console Firebase. Dovresti visualizzare i dati iniziali entro pochi minuti.

    Se non vedi la visualizzazione dei dati iniziali, consulta i suggerimenti per la risoluzione dei problemi.

Passaggio 3: (facoltativo) visualizza i messaggi di log per gli eventi di prestazioni

  1. Attiva la registrazione di debug nel seguente modo:

    1. In Xcode (minimo v16.2), seleziona Product > Scheme > Edit scheme (Prodotto > Schema > Modifica schema).
    2. Seleziona Run (Esegui) dal menu a sinistra, poi seleziona la scheda Arguments (Argomenti).
    3. Nella sezione Arguments Passed on Launch (Argomenti passati al momento dell'avvio), aggiungi -FIRDebugEnabled.
  2. Controlla i messaggi di log per verificare la presenza di eventuali messaggi di errore.

  3. Performance Monitoring contrassegna i messaggi di log con Firebase/Performance in modo che tu possa filtrare i tuoi messaggi di log.

  4. Controlla la presenza dei seguenti tipi di log, che indicano che Performance Monitoring sta registrando gli eventi di prestazioni:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Fai clic sull'URL per visualizzare i dati nella console Firebase. L'aggiornamento dei dati nella dashboard potrebbe richiedere alcuni istanti.

Se la tua app non registra gli eventi di prestazioni, consulta i suggerimenti per la risoluzione dei problemi.

Passaggio 4: (facoltativo) aggiungi il monitoraggio personalizzato per codice specifico

Per monitorare i dati sul rendimento associati a codice specifico nella tua app, puoi instrumentare tracce di codice personalizzate.

Con una traccia di codice personalizzata, puoi misurare il tempo impiegato dalla tua app per completare un'attività o un insieme di attività specifiche, ad esempio il caricamento di un insieme di immagini o l'esecuzione di query sul database. La metrica predefinita per una traccia di codice personalizzata è la sua durata, ma puoi anche aggiungere metriche personalizzate, come i risultati della cache e gli avvisi di memoria.

Nel codice, definisci l'inizio e la fine di una traccia di codice personalizzata (e aggiungi le metriche personalizzate che preferisci) utilizzando l'API fornita dall'Performance Monitoring SDK.

Visita la pagina Aggiungere il monitoraggio per codice specifico per scoprire di più su queste funzionalità e su come aggiungerle alla tua app.

Passaggio 5: distribuisci l'app e poi esamina i risultati

Dopo aver convalidato Performance Monitoring utilizzando il simulatore Xcode e uno o più dispositivi di test, puoi distribuire la versione aggiornata dell'app ai tuoi utenti.

Puoi monitorare i dati sul rendimento nella dashboard della Firebase console.

Problemi noti

  • Performance Monitoring presenta problemi noti di compatibilità con GTMSQLite. Ti consigliamo di non utilizzare Performance Monitoring con le app che utilizzano GTMSQLite.
  • Lo swizzling dei metodi dopo la chiamata a FirebaseApp.configure() potrebbe interferire con l'Performance Monitoring SDK.
  • I problemi noti con il simulatore iOS 8.0-8.2 impediscono a Performance Monitoring di acquisire gli eventi di prestazioni. Questi problemi sono stati risolti nel simulatore iOS 8.3 e nelle versioni successive.
  • Le connessioni stabilite utilizzando backgroundSessionConfiguration di NSURLSession avranno tempi di connessione più lunghi del previsto. Queste connessioni vengono eseguite fuori processo e i tempi riflettono gli eventi di callback in-process.

Passaggi successivi