Comece a usar o Monitoramento de desempenho para plataformas Apple

Antes de você começar

Adicione o Firebase ao seu projeto Apple , caso ainda não o tenha feito.

Etapa 1 : adicione o monitoramento de desempenho ao seu aplicativo

Depois de adicionar o SDK do Monitoramento de desempenho, o Firebase começa automaticamente a coletar dados para a renderização da tela do seu aplicativo, dados relacionados ao ciclo de vida do seu aplicativo (como horário de início do aplicativo ) e dados para solicitações de rede HTTP/S .

Use o Swift Package Manager para instalar e gerenciar dependências do Firebase.

  1. No Xcode, com o projeto do seu aplicativo aberto, navegue até File > Add Packages .
  2. Quando solicitado, adicione o repositório SDK das plataformas Apple do Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Escolha a biblioteca de monitoramento de desempenho.
  5. Adicione o sinalizador -ObjC à seção Outros sinalizadores de vinculador das configurações de compilação do seu destino.
  6. Quando terminar, o Xcode começará automaticamente a resolver e baixar suas dependências em segundo plano.

A seguir, configure o módulo Firebase:

  1. Importe o módulo FirebaseCore em seu UIApplicationDelegate , bem como quaisquer outros módulos Firebase que seu delegado de aplicativo usa. Por exemplo, para usar o Cloud Firestore e o Authentication:

    SwiftUI

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

    Rápido

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objetivo-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Configure uma instância compartilhada FirebaseApp no ​​método application(_:didFinishLaunchingWithOptions:) delegado do seu aplicativo:

    SwiftUI

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

    Rápido

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

    Objetivo-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Se estiver usando SwiftUI, você deve criar um delegado de aplicativo e anexá-lo à sua estrutura App via UIApplicationDelegateAdaptor ou NSApplicationDelegateAdaptor . Você também deve desativar o swizzling de delegado do aplicativo. Para obter mais informações, consulte as instruções do 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. Recompile seu aplicativo.

Etapa 2 : gerar eventos de desempenho para exibição inicial de dados

O Firebase começa a processar os eventos quando você adiciona o SDK ao seu aplicativo. Se você ainda estiver desenvolvendo localmente, interaja com seu aplicativo para gerar eventos para coleta e processamento inicial de dados.

  1. Continue desenvolvendo seu aplicativo usando um simulador ou dispositivo de teste.

  2. Gere eventos alternando seu aplicativo entre segundo plano e primeiro plano várias vezes, interagindo com seu aplicativo navegando pelas telas e/ou acionando solicitações de rede.

  3. Acesse o painel Desempenho do console do Firebase. Você deverá ver a exibição inicial dos dados em alguns minutos.

    Se você não vir seus dados iniciais, revise as dicas de solução de problemas .

Etapa 3 : (opcional) visualizar mensagens de log para eventos de desempenho

  1. Habilite o registro de depuração da seguinte maneira:

    1. No Xcode (mínimo v14.1), selecione Produto > Esquema > Editar esquema .
    2. Selecione Executar no menu esquerdo e selecione a guia Argumentos .
    3. Na seção Argumentos passados ​​na inicialização , adicione -FIRDebugEnabled .
  2. Verifique suas mensagens de log em busca de mensagens de erro.

  3. O Monitoramento de desempenho marca suas mensagens de log com Firebase/Performance para que você possa filtrar suas mensagens de log.

  4. Verifique os seguintes tipos de logs que indicam que o Monitoramento de Desempenho está registrando eventos de desempenho:

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Clique no URL para visualizar seus dados no console do Firebase. Pode levar alguns instantes para que os dados sejam atualizados no painel.

Se seu aplicativo não estiver registrando eventos de desempenho, revise as dicas de solução de problemas .

Etapa 4 : (opcional) adicionar monitoramento personalizado para código específico

Para monitorar os dados de desempenho associados a um código específico no seu aplicativo, você pode instrumentar rastreamentos de código personalizados .

Com um rastreamento de código personalizado, você pode medir quanto tempo leva para seu aplicativo concluir uma tarefa específica ou um conjunto de tarefas, como carregar um conjunto de imagens ou consultar seu banco de dados. A métrica padrão para um rastreamento de código personalizado é sua duração, mas você também pode adicionar métricas personalizadas, como ocorrências de cache e avisos de memória.

No seu código, você define o início e o fim de um rastreamento de código personalizado (e adiciona quaisquer métricas personalizadas desejadas) usando a API fornecida pelo SDK do Performance Monitoring.

Visite Adicionar monitoramento para código específico para saber mais sobre esses recursos e como adicioná-los ao seu aplicativo.

Etapa 5 : implantar seu aplicativo e analisar os resultados

Depois de validar o Monitoramento de Desempenho usando o simulador Xcode e um ou mais dispositivos de teste, você poderá implantar a versão atualizada do seu aplicativo para seus usuários.

Você pode monitorar os dados de desempenho no painel Desempenho do console do Firebase.

Problemas conhecidos

  • O Monitoramento de Desempenho conhece problemas de compatibilidade com GTMSQLite. Recomendamos não usar o Monitoramento de Desempenho com aplicativos que usam GTMSQLite.
  • A alternância do método após chamar FirebaseApp.configure() pode interferir no SDK do Monitoramento de desempenho.
  • Problemas conhecidos com o Simulador do iOS 8.0-8.2 impedem que o Monitoramento de Desempenho capture eventos de desempenho. Esses problemas foram corrigidos no Simulador do iOS 8.3 e em versões posteriores.
  • As conexões estabelecidas usando backgroundSessionConfiguration do NSURLSession exibirão tempos de conexão mais longos do que o esperado. Essas conexões são executadas fora do processo e os tempos refletem eventos de retorno de chamada em processo.

Próximos passos