Expo Crash Reporting and Error Tracking
This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project,
feel free to reach out to us!Habilita la notificación de fallos y el seguimiento de errores de Expo para obtener informes completos de fallos y tendencias de errores con Real User Monitoring.
Con esta función, puedes acceder a las siguientes características:
- Dashboards y atributos de fallos agregados Expo
- Informes de fallos de iOS simbolizados y de Android desofuscados
- Análisis de tendencias con el seguimiento de errores de Expo
Para simbolizar tus trazas (traces) de stack tecnológico y desofuscar fallos de Android, carga tu .dSYM, los archivos de asignación Proguard y los mapas de origen en Datadog utilizando el complemento de configuración expo-datadog
.
Tus informes de fallos aparecen en Seguimiento de errores.
Configuración
Utiliza el paquete expo-datadog
y el complemento de configuración. Para obtener más información, consulta la documentación de Expo y Expo Go.
Añade @datadog/datadog-ci
como dependencia de desarrollo. Este paquete contiene scripts para cargar los mapas de origen. Puedes instalarlo con NPM:
npm install @datadog/datadog-ci --save-dev
O con Yarn:
yarn add -D @datadog/datadog-ci
Ejecuta eas secret:create
para definir DATADOG_API_KEY
en tu clave de API Datadog.
Configuración del sitio Datadog
Ejecuta eas secret:create
para definir DATADOG_SITE
en el host de tu sitio Datadog, por ejemplo: datadoghq.eu
. Por defecto, se utiliza datadoghq.com
.
Opciones de configuración del complemento
Parámetro | Predeterminado | Descripción |
---|
iosDsyms | true | Permite la carga de archivos dSYMS para la simbolización de fallos nativos de iOS. |
iosSourcemaps | true | Habilita la carga de mapas de origen JavaScript en compilaciones de iOS. |
androidSourcemaps | true | Habilita la carga de mapas de origen JavaScript en compilaciones de Android. |
androidProguardMappingFiles | true | Habilita la carga de archivos de asignación Proguard para desofuscar fallos nativos de Android (sólo se aplica si la ofuscación está habilitada). |
datadogGradlePluginVersion | "1.+" | Versión de dd-sdk-android-gradle-plugin utilizada para cargar los archivos de asignación Proguard. |
Obtener trazas de stack tecnológico desofuscadas
Añade los datos del repositorio Git a tus archivos de asignación en Expo Application Services (EAS)
Si estás utilizando EAS para crear tu aplicación Expo, configura cli.requireCommit
como true
en tu archivo eas.json
para añadir los datos del repositorio Git a tus archivos de asignación.
{
"cli": {
"requireCommit": true
}
}
Limitaciones
Los mapas de origen, los archivos de asignación y los archivos dSYM tienen un límite de 500 MB cada uno.
Los mapas de origen, los archivos de asignación y los archivos dSYM tienen un límite de 500 MB cada uno.
Para probar tu implementación
Para verificar la configuración de las notificaciones de fallos y el seguimiento de errores de Expo, necesitas generar un error en tu aplicación y confirmar que el error aparece en Datadog.
Para probar tu aplicación:
Ejecuta tu aplicación en un simulador, emulador o dispositivo real. Si estás ejecutando en iOS, asegúrate de que el depurador no está conectado. De lo contrario, Xcode captura el fallo antes de que lo haga el SDK de Datadog.
Ejecuta código que contenga un error o fallo. Por ejemplo:
const throwError = () => {
throw new Error("My Error")
}
Para los informes de error ofuscados que no provocan un fallo, puedes verificar la simbolización y la desofuscación en Rastreo de errores.
Para los fallos, después de que se produzcan, reinicia tu aplicación y espera a que el SDK de React Native cargue el informe del fallo en Rastreo de errores.
Para asegurarte de que tus mapas de origen se envían y vinculan correctamente con tu aplicación, también puedes generar fallos con el paquete [react-native-performance-limiter
][14].
Instálalo con yarn o npm y luego vuelve a instalar tus pods:
yarn add react-native-performance-limiter # or npm install react-native-performance-limiter
(cd ios && pod install)
Genera un fallo en el subproceso de JavaScript desde tu aplicación:
import { crashJavascriptThread } from 'react-native-performance-limiter';
const crashApp = () => {
crashJavascriptThread('custom error message');
};
Vuelve a crear tu aplicación para que envíe los nuevos mapas de origen, activa el fallo y espera a que aparezca el error en la página Rastreo de errores.
## Opciones de configuración adicionales
### Deshabilitar la carga de archivos
Puedes deshabilitar la carga de ciertos archivos configurando los parámetros `iosDsyms`, `iosSourcemaps`, `androidProguardMappingFiles` o `androidSourcemaps` como `false`.
```json
{
"expo": {
"plugins": [
[
"expo-datadog",
{
"errorTracking": {
"iosDsyms": false
}
}
]
]
}
}
Si quieres deshabilitar cualquier carga de archivos, elimina expo-datadog
de la lista de complementos.
Uso de Expo con Datadog y Sentry
Los complementos de configuración de Datadog y Sentry utilizan expresiones regulares para modificar la fase de compilación de iOS “Empaquetar código e imágenes React Native” para enviar el mapa de origen. Esto puede hacer que las compilaciones de EAS fallen con un error error: Found argument 'datadog-ci' which wasn't expected, or isn't valid in this context
.
Para utilizar ambos complementos, asegúrate de añadir el complemento expo-datadog
primero en orden en tu archivo app.json
:
"plugins": [
"expo-datadog",
"sentry-expo"
]
Si estás utilizando expo-dev-client
y ya tienes el complemento expo-datadog
, revierte sus cambios en el archivo project.pbxproj
antes de añadir sentry-expo
y ejecutar npx expo prebuild
con ambos complementos.
Referencias adicionales
Additional helpful documentation, links, and articles: