Inizia a utilizzare Performance Monitoring per le piattaforme Apple

Prima di iniziare

Se non l'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 relativi al rendering dello schermo dell'app, i dati legati al ciclo di vita della tua app (ad es. ora di inizio dell'app) e per le richieste di rete HTTP/S.

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

  1. In Xcode, con il progetto dell'app aperto, vai a 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 Altri flag linker delle impostazioni di build del target.
  6. Al termine, Xcode inizierà automaticamente a risolvere e a scaricare le tue dipendenze in background.

Quindi, configura il modulo Firebase:

  1. Importa il modulo FirebaseCore in UIApplicationDelegate, nonché eventuali altri moduli Firebase utilizzati dal tuo app delegate. 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 FirebaseApp nel delegato della tua applicazione Metodo application(_:didFinishLaunchingWithOptions:):

    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 per l'applicazione e collegarlo al tuo struct App tramite UIApplicationDelegateAdaptor oppure NSApplicationDelegateAdaptor. Devi anche disattivare lo swizzling del delegato dell'app. Per maggiori 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 sul rendimento per la visualizzazione dei dati iniziali

Firebase avvia l'elaborazione degli eventi quando aggiungi correttamente l'SDK al tuo dell'app. Se stai ancora sviluppando localmente, interagisci con la tua app per generare per la raccolta e l'elaborazione iniziali dei dati.

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

  2. Genera eventi spostando la tua app dalla modalità in background a quella in primo piano e viceversa diverse volte, interagendo con l'app navigando su più schermate, e/o l'attivazione di richieste di rete.

  3. Vai alla dashboard Rendimento. della console Firebase. I dati iniziali vengono visualizzati entro alcuni minuti.

    Se i dati iniziali non vengono visualizzati, consulta la Risoluzione dei problemi suggerimenti.

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

  1. Attiva il logging di debug nel seguente modo:

    1. In Xcode (minima v15.2), seleziona Product > (Prodotto) > Schema > Modifica schema.
    2. Seleziona Esegui nel menu a sinistra, quindi seleziona la scheda Argomenti.
    3. Nella sezione Argomenti passati all'avvio, aggiungi -FIRDebugEnabled.
  2. Controlla se nei messaggi di log sono presenti messaggi di errore.

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

  4. Controlla i seguenti tipi di log, che indicano che Performance Monitoring è nel logging degli eventi relativi alle 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. Potrebbero essere necessari alcuni momenti prima che i dati vengano aggiornati nella dashboard.

Se la tua app non registra gli eventi relativi al rendimento, consulta i suggerimenti per la risoluzione dei problemi.

Passaggio 4: (facoltativo) Aggiungi un monitoraggio personalizzato per un codice specifico

Per monitorare i dati sul rendimento associati a un codice specifico nella tua app, puoi: tracce di codice personalizzate dello strumento.

Con una traccia di codice personalizzata puoi misurare il tempo necessario per il completamento dell'app un'attività o un insieme di attività specifiche, come il caricamento di un insieme di immagini o l'esecuzione di query del database. La metrica predefinita per una traccia di codice personalizzata è la durata, ma puoi anche aggiungere metriche personalizzate, come hit della cache e avvisi di memoria.

Nel codice definisci l'inizio e la fine di una traccia di codice personalizzata (e aggiungere eventuali metriche personalizzate desiderate) utilizzando l'API fornita dall'SDK Performance Monitoring.

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

Passaggio 5: esegui il deployment dell'app ed esamina i risultati

Dopo aver convalidato Performance Monitoring utilizzando il simulatore Xcode e uno o più dispositivi di test, puoi eseguire il deployment della versione aggiornata dell'app per gli utenti.

Puoi monitorare i dati sul rendimento nella Dashboard Rendimento della console Firebase.

Problemi noti

  • Performance Monitoring presenta problemi di compatibilità noti con GTMSQLite. Consigliamo di non utilizzando Performance Monitoring con app che usano GTMSQLite.
  • La rotazione del metodo dopo la chiamata a FirebaseApp.configure() potrebbe interferire con l'SDK Performance Monitoring.
  • I problemi noti del Simulatore di iOS 8.0-8.2 impediscono a Performance Monitoring di acquisire eventi di rendimento. Questi problemi sono stati risolti nel simulatore di iOS 8.3 e versioni successive.
  • Connessioni stabilite utilizzando backgroundSessionConfiguration di NSURLSession presenta tempi di connessione più lunghi del previsto. Queste connessioni sono out-of-process e le tempistiche rifletteno gli eventi di callback in-process.

Passaggi successivi