Antes de comenzar
Si aún no lo has hecho, agrega Firebase a tu proyecto de Apple.
Paso 1: Agrega Performance Monitoring a la app
Después de agregar el SDK de Performance Monitoring, Firebase comienza a recopilar datos automáticamente sobre el renderizado de pantallas de tu app, así como datos acerca de su ciclo de vida (como el tiempo de inicio de la app) y las solicitudes de red HTTP/S.
Usa Swift Package Manager para instalar y administrar las dependencias de Firebase.
- En Xcode, con tu proyecto de app abierto, navega a File > Add Packages.
- Cuando se te solicite, agrega el repositorio del SDK de Firebase para plataformas de Apple:
- Elige la biblioteca de Performance Monitoring.
- Agrega la marca
-ObjC
a la sección Other Linker Flags de la configuración de compilación de tu destino. - Cuando termines, Xcode comenzará a resolver y descargar automáticamente tus dependencias en segundo plano.
https://github.com/firebase/firebase-ios-sdk.git
A continuación, configura el módulo de Firebase:
- Importa el módulo
FirebaseCore
en tuUIApplicationDelegate
, así como en cualquier otro módulo de Firebase que use el delegado de la app. Por ejemplo, para usar Cloud Firestore y 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; // ...
- Configura una instancia compartida de
FirebaseApp
en el métodoapplication(_:didFinishLaunchingWithOptions:)
del delegado de la app: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];
- Si usas SwiftUI, debes crear un delegado de la aplicación y adjuntarlo
al struct de tu
App
a través deUIApplicationDelegateAdaptor
oNSApplicationDelegateAdaptor
. También debes inhabilitar el swizzling del delegado de la app. Para obtener más información, consulta las instrucciones de SwiftUI.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
Vuelve a compilar la app.
Paso 2: Genera eventos de rendimiento para obtener una visualización inicial de los datos
Firebase comienza a procesar los eventos cuando agregas correctamente el SDK a tu app. Si aún estás desarrollando de manera local, interactúa con la app a fin de generar eventos para la recopilación y el procesamiento de datos iniciales.
Sigue desarrollando la app con un emulador o un dispositivo de prueba.
Puedes generar eventos si alternas varias veces la ejecución de la app entre el primer y segundo plano, interactúas con la app mediante la navegación por las pantallas o activas solicitudes de red.
Ve al panel Rendimiento de Firebase console. Deberías ver tus datos iniciales en pocos minutos.
Si no ves los datos iniciales, revisa las sugerencias para solucionar problemas.
Paso 3: Revisa los mensajes de registro de los eventos de rendimiento (opcional)
Habilita el registro de depuración de la siguiente manera:
- En Xcode (v14.1 como mínimo), selecciona Product > Scheme > Edit scheme.
- Selecciona Run en el menú de la izquierda y, luego, selecciona la pestaña Arguments.
- En la sección Arguments Passed on Launch, agrega
-FIRDebugEnabled
.
Revisa si hay mensajes de error en los mensajes de registro.
Performance Monitoring etiqueta los mensajes de registro con
Firebase/Performance
para que puedas filtrarlos.Verifica los siguientes tipos de registros que indican que Performance Monitoring registra los eventos de rendimiento:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
Haz clic en la URL para ver tus datos en Firebase console. Los datos pueden tardar unos minutos en actualizarse en el panel.
Si tu app no registra eventos de rendimiento, revisa las sugerencias para solucionar problemas.
Paso 4: Agrega supervisión personalizada para código específico (opcional)
Para supervisar los datos de rendimiento asociados con una parte específica del código de tu app, puedes instrumentar seguimientos de código personalizados.
Con un seguimiento de código personalizado, puedes medir cuánto tiempo tarda la app en completar una tarea o un conjunto de tareas en específico, como cargar un conjunto de imágenes o consultar la base de datos. La métrica predeterminada de un seguimiento de código personalizado es su duración, pero también puedes agregar métricas personalizadas, como aciertos de caché y advertencias de memoria.
En el código, tú defines el inicio y el final de un seguimiento de código personalizado (y agregas cualquier métrica personalizada que desees) con la API que proporciona el SDK de Performance Monitoring.
Consulta cómo agregar supervisión personalizada para código específico si necesitas más información sobre estas funciones y cómo agregarlas a tu app.
Paso 5: Implementa tu app y revisa los resultados
Una vez que hayas validado Performance Monitoring con el simulador de Xcode y uno o más dispositivos de prueba, puedes implementar la versión actualizada de la app para los usuarios.
Puedes supervisar los datos de rendimiento en el panel Performance de Firebase console.
Problemas conocidos
- Performance Monitoring tiene problemas de compatibilidad conocidos con GTMSQLite. Recomendamos no emplear Performance Monitoring con apps que usan GTMSQLite.
- Es posible que las referencias a métodos después de llamar a
FirebaseApp.configure()
interfieran en el SDK de Performance Monitoring. - Los problemas conocidos del Simulador de iOS entre las versiones 8.0 y 8.2 impiden que Performance Monitoring capture eventos de rendimiento. Estos problemas se corrigieron en el Simulador de iOS 8.3 y en las versiones posteriores.
- Las conexiones establecidas con
backgroundSessionConfiguration
de NSURLSession tendrán tiempos de conexión más largos de lo esperado. Estas conexiones se ejecutan fuera del proceso, y los tiempos reflejan los eventos de devolución de llamada en curso.
Próximos pasos
Revisa y ejecuta la muestra de código de Performance Monitoring para iOS en GitHub.
Obtén más información sobre los datos que recopila Performance Monitoring automáticamente:
- Datos relacionados con el ciclo de vida de tu app, como su hora de inicio
- Datos para el procesamiento de pantalla de tu app
- Datos para las solicitudes de red HTTP/S que emite tu app
Consulta, supervisa y filtra tus datos de rendimiento en Firebase console.
Instrumenta el seguimiento de código personalizado para agregar la supervisión de tareas o flujos de trabajo específicos en la app.