Inizia con il monitoraggio delle prestazioni per le piattaforme Apple

Prima di iniziare

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

Passaggio 1 : aggiungi il monitoraggio delle prestazioni 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 (come l'ora di inizio 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 .
  2. Quando richiesto, aggiungi il repository SDK delle piattaforme Apple Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Scegli la libreria Monitoraggio delle prestazioni.
  5. Aggiungi il flag -ObjC alla sezione Altri flag del linker delle impostazioni di build del tuo target.
  6. Al termine, Xcode inizierà automaticamente a risolvere e scaricare le tue dipendenze in background.

Successivamente, configura il modulo Firebase:

  1. Importa il modulo FirebaseCore nel tuo UIApplicationDelegate , così come tutti gli altri moduli Firebase utilizzati dal delegato dell'app. Ad esempio, per utilizzare Cloud Firestore e l'autenticazione:

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Veloce

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Obiettivo-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Configura un'istanza condivisa FirebaseApp nel metodo application(_:didFinishLaunchingWithOptions:) del delegato dell'app:

    SwiftUI

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Veloce

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Obiettivo-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Se utilizzi SwiftUI, devi creare un delegato dell'applicazione e allegarlo alla struttura App tramite UIApplicationDelegateAdaptor o NSApplicationDelegateAdaptor . È inoltre necessario 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 la tua app.

Passaggio 2 : generare eventi di prestazione per la visualizzazione iniziale dei dati

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

  1. Continua a sviluppare la tua app utilizzando un simulatore o un dispositivo di test.

  2. Genera eventi spostando più volte l'app dallo sfondo al primo piano, interagendo con l'app navigando tra le schermate e/o attivando 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) visualizzare i messaggi di registro per gli eventi di prestazione

  1. Abilita la registrazione del debug, come segue:

    1. In Xcode (minimo v14.1), seleziona Prodotto > Schema > Modifica schema .
    2. Seleziona Esegui dal menu a sinistra, quindi seleziona la scheda Argomenti .
    3. Nella sezione Argomenti passati all'avvio aggiungere -FIRDebugEnabled .
  2. Controlla i messaggi di registro per eventuali messaggi di errore.

  3. Performance Monitoring tagga i suoi messaggi di log con Firebase/Performance in modo da poter filtrare i messaggi di log.

  4. Verificare la presenza dei seguenti tipi di log che indicano che il monitoraggio delle prestazioni registra gli 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 tuoi dati nella console Firebase. Potrebbero essere necessari alcuni istanti affinché i dati vengano aggiornati nella dashboard.

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

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

Per monitorare i dati sulle prestazioni associati a un codice specifico nella tua app, puoi strumentare le tracce del codice personalizzato .

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

Nel tuo codice, definisci l'inizio e la fine di una traccia di codice personalizzato (e aggiungi eventuali metriche personalizzate desiderate) utilizzando l'API fornita da Performance Monitoring SDK.

Visita Aggiungi monitoraggio per codice specifico per ulteriori informazioni su queste funzionalità e su come aggiungerle alla tua app.

Passaggio 5 : distribuisci la tua app, quindi esamina i risultati

Dopo aver convalidato il monitoraggio delle prestazioni utilizzando il simulatore Xcode e uno o più dispositivi di test, puoi distribuire la versione aggiornata della tua app ai tuoi utenti.

Puoi monitorare i dati sulle prestazioni nel dashboard Prestazioni della console Firebase.

Problemi conosciuti

  • Il monitoraggio delle prestazioni presenta problemi di compatibilità noti con GTMSQLite. Ti consigliamo di non utilizzare il monitoraggio delle prestazioni con app che utilizzano GTMSQLite.
  • Il metodo swizzling dopo aver chiamato FirebaseApp.configure() potrebbe interferire con l'SDK di monitoraggio delle prestazioni.
  • Problemi noti con il simulatore iOS 8.0-8.2 impediscono al monitoraggio delle prestazioni di acquisire eventi relativi alle prestazioni. Questi problemi sono stati risolti nel simulatore iOS 8.3 e nelle versioni successive.
  • Le connessioni stabilite utilizzando backgroundSessionConfiguration di NSURLSession presenteranno tempi di connessione più lunghi del previsto. Queste connessioni vengono eseguite out-of-process e le tempistiche riflettono gli eventi di callback in-process.

Prossimi passi