react-native-inapp-inspector 2.5.0 → 2.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ar.md +151 -53
- package/README.de.md +150 -52
- package/README.es.md +139 -42
- package/README.fr.md +151 -53
- package/README.hi.md +141 -43
- package/README.ja.md +150 -69
- package/README.ko.md +153 -55
- package/README.md +73 -14
- package/README.pt-BR.md +152 -54
- package/README.ru.md +153 -55
- package/README.zh-CN.md +95 -219
- package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +154 -9
- package/dist/commonjs/capture.d.ts +5 -2
- package/dist/commonjs/capture.js +1 -1
- package/dist/commonjs/components/Inspector/FabLauncher.js +12 -12
- package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +17 -17
- package/dist/commonjs/components/Inspector/InspectorHeader.js +41 -41
- package/dist/commonjs/components/Inspector/MainScreen.js +15 -15
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +52 -34
- package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +20 -18
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +744 -304
- package/dist/commonjs/components/NetworkIcons.d.ts +12 -0
- package/dist/commonjs/components/NetworkIcons.js +56 -3
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/i18n/locales/ar.json +1 -1
- package/dist/commonjs/i18n/locales/bn.json +1 -1
- package/dist/commonjs/i18n/locales/de.json +1 -1
- package/dist/commonjs/i18n/locales/en.json +1 -1
- package/dist/commonjs/i18n/locales/es.json +1 -1
- package/dist/commonjs/i18n/locales/fr.json +1 -1
- package/dist/commonjs/i18n/locales/gu.json +1 -1
- package/dist/commonjs/i18n/locales/hi.json +1 -1
- package/dist/commonjs/i18n/locales/id.json +1 -1
- package/dist/commonjs/i18n/locales/it.json +1 -1
- package/dist/commonjs/i18n/locales/ja.json +1 -1
- package/dist/commonjs/i18n/locales/kn.json +1 -1
- package/dist/commonjs/i18n/locales/ko.json +1 -1
- package/dist/commonjs/i18n/locales/ml.json +1 -1
- package/dist/commonjs/i18n/locales/mr.json +1 -1
- package/dist/commonjs/i18n/locales/nl.json +1 -1
- package/dist/commonjs/i18n/locales/pa.json +1 -1
- package/dist/commonjs/i18n/locales/pl.json +1 -1
- package/dist/commonjs/i18n/locales/pt.json +1 -1
- package/dist/commonjs/i18n/locales/ru.json +1 -1
- package/dist/commonjs/i18n/locales/ta.json +1 -1
- package/dist/commonjs/i18n/locales/te.json +1 -1
- package/dist/commonjs/i18n/locales/tr.json +1 -1
- package/dist/commonjs/i18n/locales/vi.json +1 -1
- package/dist/commonjs/i18n/locales/zh.json +1 -1
- package/dist/commonjs/index.js +1 -1
- package/dist/commonjs/native/NativeInspector.d.ts +4 -0
- package/dist/commonjs/native/NativeInspector.js +1 -1
- package/dist/commonjs/native/NativeNetworkInspector.d.ts +1 -0
- package/dist/commonjs/types/interfaces.d.ts +2 -0
- package/dist/esm/capture.d.ts +5 -2
- package/dist/esm/capture.js +1 -1
- package/dist/esm/components/Inspector/FabLauncher.js +37 -37
- package/dist/esm/components/Inspector/FloatingCaptureWidget.js +30 -30
- package/dist/esm/components/Inspector/InspectorHeader.js +34 -34
- package/dist/esm/components/Inspector/MainScreen.js +51 -51
- package/dist/esm/components/Inspector/MediaGalleryTab.js +100 -82
- package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +20 -18
- package/dist/esm/components/Inspector/MediaPreviewModal.js +774 -334
- package/dist/esm/components/NetworkIcons.d.ts +12 -0
- package/dist/esm/components/NetworkIcons.js +256 -203
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/i18n/locales/ar.json +1 -1
- package/dist/esm/i18n/locales/bn.json +1 -1
- package/dist/esm/i18n/locales/de.json +1 -1
- package/dist/esm/i18n/locales/en.json +1 -1
- package/dist/esm/i18n/locales/es.json +1 -1
- package/dist/esm/i18n/locales/fr.json +1 -1
- package/dist/esm/i18n/locales/gu.json +1 -1
- package/dist/esm/i18n/locales/hi.json +1 -1
- package/dist/esm/i18n/locales/id.json +1 -1
- package/dist/esm/i18n/locales/it.json +1 -1
- package/dist/esm/i18n/locales/ja.json +1 -1
- package/dist/esm/i18n/locales/kn.json +1 -1
- package/dist/esm/i18n/locales/ko.json +1 -1
- package/dist/esm/i18n/locales/ml.json +1 -1
- package/dist/esm/i18n/locales/mr.json +1 -1
- package/dist/esm/i18n/locales/nl.json +1 -1
- package/dist/esm/i18n/locales/pa.json +1 -1
- package/dist/esm/i18n/locales/pl.json +1 -1
- package/dist/esm/i18n/locales/pt.json +1 -1
- package/dist/esm/i18n/locales/ru.json +1 -1
- package/dist/esm/i18n/locales/ta.json +1 -1
- package/dist/esm/i18n/locales/te.json +1 -1
- package/dist/esm/i18n/locales/tr.json +1 -1
- package/dist/esm/i18n/locales/vi.json +1 -1
- package/dist/esm/i18n/locales/zh.json +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/native/NativeInspector.d.ts +4 -0
- package/dist/esm/native/NativeInspector.js +1 -1
- package/dist/esm/native/NativeNetworkInspector.d.ts +1 -0
- package/dist/esm/types/interfaces.d.ts +2 -0
- package/ios/NetworkInspectorModule.mm +487 -224
- package/package.json +1 -1
- package/react-native-inapp-inspector.podspec +1 -1
- package/src/native/NativeInspector.ts +22 -0
- package/src/native/NativeNetworkInspector.ts +1 -1
package/README.es.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://github.com/vengatmacuser/react-native-inapp-inspector">
|
|
3
|
+
<img src="https://raw.githubusercontent.com/vengatmacuser/react-native-inapp-inspector/main/assets/inapp_inspector_icon.gif" alt="React Native In-App Inspector Icon" width="120" height="120" style="border-radius: 28px; box-shadow: 0 10px 30px rgba(99, 102, 241, 0.45);" />
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
1
7
|
# React Native In-App Inspector (Inspector de Depuración en la App)
|
|
2
8
|
|
|
3
9
|
<p align="center">
|
|
@@ -27,6 +33,7 @@
|
|
|
27
33
|
<a href="https://www.npmjs.com/package/react-native-inapp-inspector"><img src="https://img.shields.io/npm/dm/react-native-inapp-inspector?color=3b82f6&label=downloads" alt="npm downloads" /></a>
|
|
28
34
|
<a href="https://github.com/vengatmacuser/react-native-inapp-inspector"><img src="https://img.shields.io/github/stars/vengatmacuser/react-native-inapp-inspector?color=f59e0b&label=stars&logo=github" alt="GitHub stars" /></a>
|
|
29
35
|
<a href="https://github.com/vengatmacuser/react-native-inapp-inspector/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="license" /></a>
|
|
36
|
+
<a href="https://github.com/sponsors/vengatmacuser"><img src="https://img.shields.io/badge/sponsor-GitHub%20Sponsors-ea4aaa?logo=githubsponsors&logoColor=white" alt="sponsor" /></a>
|
|
30
37
|
</p>
|
|
31
38
|
|
|
32
39
|
<p align="center">
|
|
@@ -37,7 +44,7 @@
|
|
|
37
44
|
<img src="https://img.shields.io/badge/Engine-Hermes%20%7C%20JSC-9333ea" alt="Engine" />
|
|
38
45
|
</p>
|
|
39
46
|
|
|
40
|
-
El **conjunto de herramientas de depuración todo en uno y sin configuración para React Native y Expo**. Inspecciona el tráfico de red HTTP/HTTPS, flujos de WebSocket y Socket.IO en tiempo real, registros de consola con número de línea exacto mediante Metro, cambios de estado en Redux, almacenamiento en vivo de AsyncStorage y MMKV, notificaciones push, métricas de hardware del dispositivo y captura de pantalla/video directamente en el teléfono sin cables.
|
|
47
|
+
El **conjunto de herramientas de depuración todo en uno y sin configuración para React Native y Expo**. Inspecciona el tráfico de red HTTP/HTTPS, flujos de WebSocket y Socket.IO en tiempo real, registros de consola con número de línea exacto mediante Metro, cambios de estado en Redux, almacenamiento en vivo de AsyncStorage y MMKV, notificaciones push, métricas de hardware del dispositivo y captura de pantalla/video con estudio de edición integrado directamente en el teléfono sin cables.
|
|
41
48
|
|
|
42
49
|
> 🚀 **La alternativa moderna y ligera a Flipper, Charles, Proxyman y Chucker** — funciona de forma autónoma en el dispositivo, en compilaciones de prueba (APK/TestFlight) y sin necesidad de conectar cables a la computadora.
|
|
43
50
|
|
|
@@ -51,6 +58,27 @@ El **conjunto de herramientas de depuración todo en uno y sin configuración pa
|
|
|
51
58
|
|
|
52
59
|
---
|
|
53
60
|
|
|
61
|
+
<table align="center" width="100%">
|
|
62
|
+
<tr>
|
|
63
|
+
<td align="center" style="padding: 24px; background: linear-gradient(135deg, rgba(236,72,153,0.1), rgba(99,102,241,0.1)); border-radius: 16px; border: 1px solid rgba(236,72,153,0.35);">
|
|
64
|
+
<h3 align="center">💖 Hecho con Amor para Cada Desarrollador que Alguna Vez Persiguió un Bug a las 2 AM</h3>
|
|
65
|
+
<p align="center">
|
|
66
|
+
<i>“Creamos react-native-inapp-inspector porque conocemos de primera mano el dolor de los cables enredados, los puertos de depuración caídos y los errores inexplicables en producción. Dedicamos innumerables noches de desvelo y pasión para que cada desarrollador móvil y tester del mundo pueda depurar con total libertad, fluidez y alegría.”</i>
|
|
67
|
+
</p>
|
|
68
|
+
<p align="center">
|
|
69
|
+
Si esta herramienta te ahorró horas de frustración, te ayudó a lanzar una actualización a tiempo o hizo tu trabajo diario más ligero — <b>por favor considera patrocinar el proyecto</b>. Una pequeña taza de café o un patrocinio mensual marca una enorme diferencia y mantiene vivo el desarrollo de código abierto independiente. ☕✨
|
|
70
|
+
</p>
|
|
71
|
+
<p align="center">
|
|
72
|
+
<a href="https://github.com/sponsors/vengatmacuser">
|
|
73
|
+
<img src="https://img.shields.io/badge/Sponsor%20%40vengatmacuser-Patrocinar%20en%20GitHub%20Sponsors-ea4aaa?style=for-the-badge&logo=githubsponsors&logoColor=white" alt="Sponsor on GitHub Sponsors" />
|
|
74
|
+
</a>
|
|
75
|
+
</p>
|
|
76
|
+
</td>
|
|
77
|
+
</tr>
|
|
78
|
+
</table>
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
54
82
|
## ⚡ Comparación con Otras Herramientas
|
|
55
83
|
|
|
56
84
|
| Característica | **react-native-inapp-inspector** | Flipper | Charles / Proxyman | RN Debugger |
|
|
@@ -62,31 +90,130 @@ El **conjunto de herramientas de depuración todo en uno y sin configuración pa
|
|
|
62
90
|
| **Copia instantánea de snippets cURL y Fetch** | ✅ | ⚠️ | ⚠️ | ❌ |
|
|
63
91
|
| **Monitoreo de WebSocket y Socket.IO bidireccional** | ✅ | ❌ | ⚠️ | ⚠️ |
|
|
64
92
|
| **Editor de almacenamiento en vivo (AsyncStorage y MMKV)** | ✅ (CRUD) | ⚠️ (Solo lectura) | ❌ | ⚠️ |
|
|
65
|
-
| **Registro de notificaciones push (APNs, FCM, Salesforce)
|
|
93
|
+
| **Registro de notificaciones push (APNs, FCM, Salesforce)** | ✅ | ❌ | ❌ | ❌ |
|
|
66
94
|
| **Logs con resolución de líneas reales con Metro** | ✅ (Línea exacta) | ✅ | ❌ | ✅ |
|
|
67
95
|
| **Diferencias de Redux y línea de tiempo de acciones** | ✅ | ⚠️ | ❌ | ✅ |
|
|
68
|
-
| **
|
|
69
|
-
| **
|
|
70
|
-
| **
|
|
71
|
-
| **
|
|
96
|
+
| **Rastreador de eventos de analítica (Firebase, Mixpanel)** | ✅ | ❌ | ❌ | ❌ |
|
|
97
|
+
| **Protección contra cierres y rastro de migas (Breadcrumbs)** | ✅ | ❌ | ❌ | ❌ |
|
|
98
|
+
| **Telemetría de hardware (RAM, heap, disco, batería, FPS)** | ✅ | ⚠️ | ❌ | ❌ |
|
|
99
|
+
| **Captura y edición de medios en la app (Crop, Video Trim, Badges)** | ✅ (Estudio completo) | ❌ | ❌ | ❌ |
|
|
100
|
+
| **Botón flotante arrastrable y modo transparente (Peek)** | ✅ (0.05 - 1.0) | ❌ | ❌ | ❌ |
|
|
101
|
+
| **Gestión de módulos remota vía Firebase Remote Config** | ✅ | ❌ | ❌ | ❌ |
|
|
102
|
+
| **25 idiomas con selector en hoja inferior (Bottom Sheet)** | ✅ | ❌ (Solo inglés) | ❌ | ❌ |
|
|
103
|
+
| **Expo (Bare / Managed) & React Native CLI** | ✅ | ⚠️ | ⚠️ | ⚠️ |
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## ✨ Características y Módulos Principales
|
|
108
|
+
|
|
109
|
+
### 🌐 1. Inspector de Red y Cascada de Tiempos
|
|
110
|
+
- **Interceptación Universal HTTP/HTTPS**: Compatible automáticamente con `fetch`, instancias de Axios y `XMLHttpRequest`.
|
|
111
|
+
- **Desglose de Latencia**: Barras proporcionales de cascada, clasificación de velocidad (Rápido `<200ms`, Moderado `200-800ms`, Lento `>800ms`).
|
|
112
|
+
- **Barra de Telemetría**: Tasa de éxito en tiempo real (%), Latencia promedio (ms) y Latencia P95 (ms).
|
|
113
|
+
- **Visor de Carga Útil**: Árbol JSON formateado, vista sin formato (raw), encabezados, parámetros de consulta y origen del llamador.
|
|
114
|
+
- **Exportación Rápida**: Copia en un toque como comando **cURL**, fragmento **Fetch** o informe resumido.
|
|
115
|
+
|
|
116
|
+
### ⚡ 2. Inspector en Tiempo Real de WebSocket y Socket.IO
|
|
117
|
+
- **Cobertura Completa**: Compatible con WebSocket nativo (`ws://`, `wss://`) y Socket.IO (`v2`, `v3`, `v4`).
|
|
118
|
+
- **Línea de Tiempo Bidireccional**: Rastreo de paquetes (⬆️ Enviado, ⬇️ Recibido) con marcas de tiempo de alta precisión.
|
|
119
|
+
- **Detección de Tipos**: Texto, JSON, tamaño binario (ArrayBuffer) y latidos Ping/Pong.
|
|
120
|
+
- **Metadatos de Conexión**: Estado de conexión, parámetros de handshake, transporte (websocket/polling) y reconexiones.
|
|
121
|
+
|
|
122
|
+
### 💾 3. Gestor de Almacenamiento (AsyncStorage y MMKV)
|
|
123
|
+
- **Interfaz Unificada**: Visor interactivo para `@react-native-async-storage/async-storage` y `react-native-mmkv`.
|
|
124
|
+
- **Operaciones CRUD en Vivo**: Lee, busca, crea, edita y elimina claves de almacenamiento directamente en la pantalla.
|
|
125
|
+
- **Tipado Inteligente**: Distingue automáticamente objetos JSON, arreglos, booleanos, números y cadenas.
|
|
126
|
+
|
|
127
|
+
### 🔔 4. Registro de Notificaciones Push
|
|
128
|
+
- **Múltiples Proveedores**: Registra notificaciones de FCM, APNs, Salesforce Marketing Cloud, OneSignal y Notifee.
|
|
129
|
+
- **Estado de la App**: Identifica si se recibió en Primer Plano (**Foreground**), Segundo Plano (**Background**) o desde estado Cerrado (**Killed**).
|
|
130
|
+
- **Inspección de Payload**: Parámetros de datos, enlaces profundos (deep-links), títulos, cuerpos e IDs de canal.
|
|
131
|
+
|
|
132
|
+
### 🪵 5. Registrador de Consola y Simbolización Metro
|
|
133
|
+
- **Línea Exacta de Código**: Intercepta `console.log`, `warn` y `error`, resolviendo nombres de archivo y líneas reales mediante Metro (`HomeScreen.tsx:42:15`).
|
|
134
|
+
- **Desglose de Argumentos**: Inspecciona cada argumento de forma individual con identificación de tipo.
|
|
135
|
+
- **Pila de Llamadas y Errores**: Visualización estructurada de frames y trazas de error nativas.
|
|
136
|
+
- **Agrupación Inteligente**: Contador de repeticiones (`×N`) para evitar inundaciones de logs.
|
|
137
|
+
|
|
138
|
+
### 🔄 6. Diferencias de Estado y Acciones Redux
|
|
139
|
+
- **Integración con Redux Toolkit**: Compatible con Redux Store, RTK Query y `redux-persist`.
|
|
140
|
+
- **Línea de Tiempo de Acciones**: Registro cronológico de acciones despachadas con duración y payload.
|
|
141
|
+
- **Diff Visual de Estados**: Código de colores para cambios (**Verde** para adiciones, **Ámbar** para cambios, **Rojo** para eliminaciones).
|
|
142
|
+
|
|
143
|
+
### 📊 7. Rastreador de Eventos de Analítica
|
|
144
|
+
- **Integración con Firebase Analytics**: Intercepta automáticamente `logEvent`, `logScreenView`, `setUserProperties` y `setUserId`.
|
|
145
|
+
- **Arquitectura Extensible**: Compatible con Google Analytics 4, Mixpanel, Segment y Amplitude.
|
|
146
|
+
- **Inspección de Parámetros**: Revisa parámetros de eventos, propiedades de usuario y marcas de tiempo.
|
|
147
|
+
|
|
148
|
+
### 🛡️ 8. Protección contra Cierres y Límite de Errores Global
|
|
149
|
+
- **Micro-UI Aislada**: El inspector no afecta ni detiene la aplicación principal en caso de error.
|
|
150
|
+
- **Captura Global de Errores**: Maneja excepciones no controladas de React con opción de recuperación interactiva.
|
|
151
|
+
- **Rastro de Migas (Breadcrumbs)**: Rastrea navegación previa, llamadas de red y acciones Redux antes de un error.
|
|
152
|
+
|
|
153
|
+
### 📱 9. Telemetría de Hardware Nativo, RAM y Rendimiento
|
|
154
|
+
- **Métricas de Sistema**: Memoria RAM total y disponible, Heap nativo, espacio de disco, batería y arquitectura CPU.
|
|
155
|
+
- **Contador FPS en Tiempo Real**: Medición continua de fotogramas por segundo.
|
|
156
|
+
- **Auto-Limpieza por Advertencia de Memoria**: Libera memoria automáticamente si el sistema operativo envía alertas.
|
|
157
|
+
- **Gesto de Agitar**: Agita el dispositivo físico o pulsa `Ctrl+Cmd+Z` / `Cmd+M` para abrir el inspector.
|
|
158
|
+
|
|
159
|
+
### 📸 10. Captura de Medios Nativa y Estudio de Edición en la App
|
|
160
|
+
- **Captura en Dispositivo**: Captura capturas de pantalla en alta resolución, grabaciones de video MP4 y GIFs animados.
|
|
161
|
+
- **Galería de Medios Completa**: Explora, filtra (Fotos, Videos, GIFs), selecciona por lotes y copia rutas URI.
|
|
162
|
+
- **Estudio de Edición de Foto y Video**:
|
|
163
|
+
- **Recorte y Redimensionado**: Recorta a proporciones estándar (Cuadrado 1:1, 4:3, 16:9) y reduce resolución para subidas ligeras.
|
|
164
|
+
- **Edición de Video y Audio**: Ajusta puntos de inicio/fin, modifica velocidad de reproducción (0.5× – 2.0×) o silencia el audio.
|
|
165
|
+
- **Extracción de Fotogramas**: Extrae imágenes PNG en alta definición desde cualquier video con un solo toque.
|
|
166
|
+
- **Marcadores de Control de Calidad (QA)**:
|
|
167
|
+
- **Cuadrícula 3×3 de Instagram**: Activa líneas guía para verificar alineaciones con precisión de píxel.
|
|
168
|
+
- **Insignias de Pasos Numerados**: Coloca números secuenciales (`1`, `2`, `3`...) para documentar pasos de reproducción de bugs.
|
|
169
|
+
- **Etiquetas de Bugs y Notas**: Agrega sellos gráficos de errores (`🐛`), notas (`📝`) y advertencias.
|
|
170
|
+
- **Texto y Marca de Agua QA**: Escribe anotaciones personalizadas y activa marcas de agua con modelo y SO del dispositivo.
|
|
171
|
+
- **Importador de Galería**: Importa fotos o videos de la fototeca del dispositivo para editarlos y reportarlos.
|
|
172
|
+
|
|
173
|
+
### 🎛️ 11. Botón Flotante Draggable (FAB) y Opacidad Transparente (Modo Peek)
|
|
174
|
+
- **Lanzador Flotante**: Burbuja deslizable a cualquier esquina con indicadores de actividad y contador.
|
|
175
|
+
- **Zona de Cierre Inferior**: Arrastra hacia la zona inferior brillante para ocultar el botón limpiamente.
|
|
176
|
+
- **Modo Peek Transparente**: Ajusta la opacidad de 0.05 a 1.0 para interactuar con la app mientras monitoreas datos y tráfico.
|
|
177
|
+
|
|
178
|
+
### ☁️ 12. Gestión de Módulos con Firebase Remote Config
|
|
179
|
+
- **Banderas de Funcionalidad Remota**: Habilita o deshabilita pestañas del inspector en producción/pruebas desde la nube sin necesidad de actualizar la app.
|
|
180
|
+
|
|
181
|
+
### 🌍 13. 25 Idiomas Globales y Selector Interactivo en Hoja Inferior
|
|
182
|
+
- **25 Idiomas Soportados**: Español, Inglés, Francés, Alemán, Italiano, Portugués, Ruso, Japonés, Coreano, Chino Simplificado, Árabe, Hindi, Turco, Holandés, Polaco, Indonesio, Vietnamita, Bengalí, Tamil, Telugu, Maratí, Guyaratí, Canarés, Malabar y Panyabí.
|
|
183
|
+
- **Selector Modal en Hoja Inferior**: Pulsa `[ 🌐 ES ▾ ]` para abrir la hoja interactiva con banderas y búsqueda instantánea.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 🔎 Sintaxis de Búsqueda Estilo DevTools
|
|
188
|
+
|
|
189
|
+
```text
|
|
190
|
+
method:POST status:200 # Filter POST requests with 200 OK
|
|
191
|
+
url:api.myapp.com -analytics # Filter domain and exclude analytics
|
|
192
|
+
header:authorization # Filter requests containing auth header
|
|
193
|
+
body:"orderId" # Search in request/response JSON body
|
|
194
|
+
page:CheckoutScreen # Filter logs by screen/route name
|
|
195
|
+
file:ProfileView.tsx # Filter console logs by source file
|
|
196
|
+
-healthcheck -socket.io # Exclude unwanted logs
|
|
197
|
+
```
|
|
72
198
|
|
|
73
199
|
---
|
|
74
200
|
|
|
75
201
|
## 📦 Instalación
|
|
76
202
|
|
|
77
|
-
### Proyectos React Native
|
|
78
203
|
```bash
|
|
79
204
|
npm install --save-dev react-native-inapp-inspector react-native-svg
|
|
80
|
-
#
|
|
205
|
+
# or
|
|
81
206
|
yarn add -D react-native-inapp-inspector react-native-svg
|
|
207
|
+
# or
|
|
208
|
+
pnpm add -D react-native-inapp-inspector react-native-svg
|
|
82
209
|
```
|
|
83
210
|
|
|
84
|
-
####
|
|
211
|
+
#### iOS CocoaPods
|
|
85
212
|
```bash
|
|
86
213
|
cd ios && pod install && cd ..
|
|
87
214
|
```
|
|
88
215
|
|
|
89
|
-
###
|
|
216
|
+
### Expo
|
|
90
217
|
```bash
|
|
91
218
|
npx expo install react-native-inapp-inspector react-native-svg
|
|
92
219
|
```
|
|
@@ -95,8 +222,6 @@ npx expo install react-native-inapp-inspector react-native-svg
|
|
|
95
222
|
|
|
96
223
|
## 🚀 Inicio Rápido
|
|
97
224
|
|
|
98
|
-
En tu archivo principal (`App.tsx` o `index.js`):
|
|
99
|
-
|
|
100
225
|
```tsx
|
|
101
226
|
import React from 'react';
|
|
102
227
|
import { SafeAreaView } from 'react-native';
|
|
@@ -110,7 +235,7 @@ import NetworkInspector, {
|
|
|
110
235
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
111
236
|
import { store } from './src/store';
|
|
112
237
|
|
|
113
|
-
// ⚡
|
|
238
|
+
// ⚡ Initialize interceptors before app mount
|
|
114
239
|
setupNetworkLogger();
|
|
115
240
|
setupConsoleLogger();
|
|
116
241
|
setupSocketLogger();
|
|
@@ -123,7 +248,7 @@ export default function App() {
|
|
|
123
248
|
<SafeAreaView style={{ flex: 1 }}>
|
|
124
249
|
<YourAppRoot />
|
|
125
250
|
|
|
126
|
-
{/*
|
|
251
|
+
{/* Mount In-App Inspector in DEV builds */}
|
|
127
252
|
{__DEV__ && (
|
|
128
253
|
<NetworkInspector
|
|
129
254
|
enabled={true}
|
|
@@ -134,31 +259,3 @@ export default function App() {
|
|
|
134
259
|
);
|
|
135
260
|
}
|
|
136
261
|
```
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
## 🔎 Sintaxis de Búsqueda Estilo DevTools
|
|
141
|
-
|
|
142
|
-
```text
|
|
143
|
-
method:POST status:200 # Filtrar peticiones POST con respuesta 200 OK
|
|
144
|
-
url:api.miapp.com -analytics # Buscar peticiones excluyendo analítica
|
|
145
|
-
header:authorization # Buscar peticiones con tokens de autenticación
|
|
146
|
-
body:"orderId" # Búsqueda en el cuerpo JSON de petición o respuesta
|
|
147
|
-
page:CheckoutScreen # Filtrar por pantalla activa en React Navigation
|
|
148
|
-
file:ProfileView.tsx # Filtrar logs de consola por archivo fuente
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## 🔍 Palabras Clave de Búsqueda (Keywords)
|
|
152
|
-
|
|
153
|
-
Optimizado para desarrolladores en España y toda Latinoamérica (México, Colombia, Argentina, Chile, Perú, etc.):
|
|
154
|
-
|
|
155
|
-
* **Términos de búsqueda**: Depurador React Native, captura de red móvil, registro de red, herramientas de desarrollo React Native, monitor de tráfico móvil, depuración en dispositivo, inspector en app.
|
|
156
|
-
* **Alternativas populares**: Alternativa a Flipper, alternativa a Charles Proxy, Chucker para React Native, alternativa a Proxyman, alternativa a Reactotron.
|
|
157
|
-
* **Características**: Captura de WebSocket, visor de MMKV, editor de AsyncStorage, logs con symbolication Metro, grabador de pantalla para reportar bugs.
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## 📄 Licencia
|
|
162
|
-
|
|
163
|
-
MIT © [vengatmacuser](LICENSE)
|
|
164
|
-
|
package/README.fr.md
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://github.com/vengatmacuser/react-native-inapp-inspector">
|
|
3
|
+
<img src="https://raw.githubusercontent.com/vengatmacuser/react-native-inapp-inspector/main/assets/inapp_inspector_icon.gif" alt="React Native In-App Inspector Icon" width="120" height="120" style="border-radius: 28px; box-shadow: 0 10px 30px rgba(99, 102, 241, 0.45);" />
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
# React Native In-App Inspector (Boîte à Outils de Débogage Intégrée)
|
|
2
8
|
|
|
3
9
|
<p align="center">
|
|
4
10
|
<b><a href="./README.md">English</a></b> |
|
|
@@ -27,6 +33,7 @@
|
|
|
27
33
|
<a href="https://www.npmjs.com/package/react-native-inapp-inspector"><img src="https://img.shields.io/npm/dm/react-native-inapp-inspector?color=3b82f6&label=downloads" alt="npm downloads" /></a>
|
|
28
34
|
<a href="https://github.com/vengatmacuser/react-native-inapp-inspector"><img src="https://img.shields.io/github/stars/vengatmacuser/react-native-inapp-inspector?color=f59e0b&label=stars&logo=github" alt="GitHub stars" /></a>
|
|
29
35
|
<a href="https://github.com/vengatmacuser/react-native-inapp-inspector/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="license" /></a>
|
|
36
|
+
<a href="https://github.com/sponsors/vengatmacuser"><img src="https://img.shields.io/badge/sponsor-GitHub%20Sponsors-ea4aaa?logo=githubsponsors&logoColor=white" alt="sponsor" /></a>
|
|
30
37
|
</p>
|
|
31
38
|
|
|
32
39
|
<p align="center">
|
|
@@ -37,38 +44,157 @@
|
|
|
37
44
|
<img src="https://img.shields.io/badge/Engine-Hermes%20%7C%20JSC-9333ea" alt="Engine" />
|
|
38
45
|
</p>
|
|
39
46
|
|
|
40
|
-
La **
|
|
47
|
+
La **boîte à outils de débogage tout-en-un et sans configuration pour React Native & Expo**. Inspectez le trafic réseau HTTP/HTTPS, les flux temps réel WebSocket & Socket.IO, les logs de console avec numéros de lignes précis via Metro, les diffs d'état Redux, le stockage AsyncStorage & MMKV, les notifications push, les métriques matérielles et réalisez des captures ou enregistrements vidéo avec studio d'édition complet directement sur votre téléphone sans câble.
|
|
41
48
|
|
|
42
|
-
> 🚀 **L'alternative moderne et
|
|
49
|
+
> 🚀 **L'alternative moderne et légère à Flipper, Charles, Proxyman et Chucker** — fonctionne en totale autonomie sur l'appareil, en versions de test (APK/TestFlight) et sans câble USB.
|
|
43
50
|
|
|
44
51
|
<p align="center">
|
|
45
52
|
<img src="https://raw.githubusercontent.com/vengatmacuser/react-native-inapp-inspector/main/assets/walkthrough.gif" alt="React Native In-App Inspector Walkthrough" width="360" style="border-radius: 20px; box-shadow: 0 12px 36px rgba(0,0,0,0.5);" />
|
|
46
53
|
</p>
|
|
47
54
|
|
|
48
55
|
<p align="center">
|
|
49
|
-
🎬 <b><a href="https://raw.githubusercontent.com/vengatmacuser/react-native-inapp-inspector/main/docs/video_walkthrough.mp4">Regarder la
|
|
56
|
+
🎬 <b><a href="https://raw.githubusercontent.com/vengatmacuser/react-native-inapp-inspector/main/docs/video_walkthrough.mp4">Regarder la Démo Vidéo Complète (MP4)</a></b> | <b><a href="https://raw.githubusercontent.com/vengatmacuser/react-native-inapp-inspector/main/docs/video_walkthrough.mov">Fichier MOV Original</a></b>
|
|
50
57
|
</p>
|
|
51
58
|
|
|
52
59
|
---
|
|
53
60
|
|
|
54
|
-
|
|
61
|
+
<table align="center" width="100%">
|
|
62
|
+
<tr>
|
|
63
|
+
<td align="center" style="padding: 24px; background: linear-gradient(135deg, rgba(236,72,153,0.1), rgba(99,102,241,0.1)); border-radius: 16px; border: 1px solid rgba(236,72,153,0.35);">
|
|
64
|
+
<h3 align="center">💖 Conçu avec Amour pour Tous les Développeurs qui ont déjà Traqué un Bug à 2h du Matin</h3>
|
|
65
|
+
<p align="center">
|
|
66
|
+
<i>« Nous avons créé react-native-inapp-inspector parce que nous connaissons parfaitement la douleur des câbles emmêlés, des proxies déconnectés et des plantages inexplicables sur les builds de test. Nous y avons mis des nuits blanches et toute notre passion pour que chaque ingénieur mobile et testeur QA dans le monde puisse déboguer en toute liberté, fluidité et sérénité. »</i>
|
|
67
|
+
</p>
|
|
68
|
+
<p align="center">
|
|
69
|
+
Si cet outil vous a fait gagner de précieuses heures, vous a aidé à livrer une mise en production cruciale à temps, ou a simplifié votre quotidien de développement — <b>pensez à sponsoriser le projet</b>. Un simple café ou un soutien mensuel fait toute la différence et permet de maintenir ce projet open source indépendant et gratuit pour tous. ☕✨
|
|
70
|
+
</p>
|
|
71
|
+
<p align="center">
|
|
72
|
+
<a href="https://github.com/sponsors/vengatmacuser">
|
|
73
|
+
<img src="https://img.shields.io/badge/Sponsor%20%40vengatmacuser-Soutenir%20sur%20GitHub%20Sponsors-ea4aaa?style=for-the-badge&logo=githubsponsors&logoColor=white" alt="Sponsor on GitHub Sponsors" />
|
|
74
|
+
</a>
|
|
75
|
+
</p>
|
|
76
|
+
</td>
|
|
77
|
+
</tr>
|
|
78
|
+
</table>
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## ⚡ Comparaison avec les Autres Outils
|
|
55
83
|
|
|
56
84
|
| Fonctionnalité | **react-native-inapp-inspector** | Flipper | Charles / Proxyman | RN Debugger |
|
|
57
85
|
| :--- | :---: | :---: | :---: | :---: |
|
|
58
|
-
| **Autonome sur l
|
|
59
|
-
| **0%
|
|
86
|
+
| **Autonome sur l’appareil (Pas de PC ni de câble)** | ✅ | ❌ | ❌ | ❌ |
|
|
87
|
+
| **Zéro rendu en veille (0% CPU en arrière-plan)** | ✅ | ❌ | ❌ | ❌ |
|
|
60
88
|
| **Inspecteur réseau HTTP/HTTPS (Fetch / Axios / XHR)** | ✅ | ✅ | ✅ | ✅ |
|
|
61
|
-
| **
|
|
62
|
-
| **
|
|
63
|
-
| **
|
|
64
|
-
| **É
|
|
65
|
-
| **
|
|
66
|
-
| **Logs
|
|
67
|
-
| **Diffs d
|
|
68
|
-
| **
|
|
69
|
-
| **
|
|
70
|
-
| **
|
|
71
|
-
| **
|
|
89
|
+
| **Graphique en cascade & Latence P95** | ✅ | ⚠️ | ⚠️ | ❌ |
|
|
90
|
+
| **Export instantané de snippets cURL et Fetch** | ✅ | ⚠️ | ⚠️ | ❌ |
|
|
91
|
+
| **Moniteur bidirectionnel WebSocket & Socket.IO** | ✅ | ❌ | ⚠️ | ⚠️ |
|
|
92
|
+
| **Éditeur de stockage en direct (AsyncStorage & MMKV)** | ✅ (CRUD) | ⚠️ (Lecture seule) | ❌ | ⚠️ |
|
|
93
|
+
| **Enregistreur de notifications push (APNs, FCM, Salesforce)** | ✅ | ❌ | ❌ | ❌ |
|
|
94
|
+
| **Logs avec vrais numéros de lignes via Metro** | ✅ (Ligne exacte) | ✅ | ❌ | ✅ |
|
|
95
|
+
| **Diffs d’état Redux & Chronologie des actions** | ✅ | ⚠️ | ❌ | ✅ |
|
|
96
|
+
| **Suivi des événements analytiques (Firebase, Mixpanel)** | ✅ | ❌ | ❌ | ❌ |
|
|
97
|
+
| **Protection anti-crash & Fil d’Ariane (Breadcrumbs)** | ✅ | ❌ | ❌ | ❌ |
|
|
98
|
+
| **Télémétrie matérielle (RAM, tas natif, disque, batterie, FPS)** | ✅ | ⚠️ | ❌ | ❌ |
|
|
99
|
+
| **Capture multimédia & Studio d’édition (Crop, Video Trim, Badges)** | ✅ (Studio complet) | ❌ | ❌ | ❌ |
|
|
100
|
+
| **Bouton flottant déplaçable & Mode transparence (Peek)** | ✅ (0.05 - 1.0) | ❌ | ❌ | ❌ |
|
|
101
|
+
| **Gestion à distance des modules via Firebase Remote Config** | ✅ | ❌ | ❌ | ❌ |
|
|
102
|
+
| **25 langues avec sélecteur en feuille inférieure (Bottom Sheet)** | ✅ | ❌ (Anglais uniquement) | ❌ | ❌ |
|
|
103
|
+
| **Expo (Bare / Managed) & React Native CLI** | ✅ | ⚠️ | ⚠️ | ⚠️ |
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## ✨ Modules et Fonctionnalités Clés
|
|
108
|
+
|
|
109
|
+
### 🌐 1. Inspecteur Réseau & Graphique en Cascade des Latences
|
|
110
|
+
- **Interception Universelle HTTP/HTTPS**: Prise en charge automatique de `fetch`, Axios et `XMLHttpRequest`.
|
|
111
|
+
- **Détail des Latences**: Barres en cascade proportionnelles, évaluation de la vitesse (Rapide `<200ms`, Modéré `200-800ms`, Lent `>800ms`).
|
|
112
|
+
- **Bandeau Télémetrique**: Taux de réussite (%), Latence moyenne (ms) et Latence P95 (ms) en direct.
|
|
113
|
+
- **Visualiseur de Données**: Arbre JSON stylisé, texte brut, en-têtes requête/réponse, paramètres et fichier appelant.
|
|
114
|
+
- **Export en Un Clic**: Copiez sous forme de commande **cURL**, snippet **Fetch** ou rapport synthétique.
|
|
115
|
+
|
|
116
|
+
### ⚡ 2. Inspecteur de Flux en Temps Réel WebSocket & Socket.IO
|
|
117
|
+
- **Couverture Protocoles Totale**: WebSocket natif (`ws://`, `wss://`) et Socket.IO (`v2`, `v3`, `v4`).
|
|
118
|
+
- **Chronologie Bidirectionnelle**: Suivi des trames (⬆️ Envoyées, ⬇️ Reçues) avec horodatage haute précision.
|
|
119
|
+
- **Détection des Types**: Texte, charges JSON, taille binaire (ArrayBuffer) et battements Ping/Pong.
|
|
120
|
+
- **Métadonnées de Connexion**: État de connexion, paramètres de handshake, transport (websocket/polling) et reconnexions.
|
|
121
|
+
|
|
122
|
+
### 💾 3. Gestionnaire de Stockage (AsyncStorage & MMKV)
|
|
123
|
+
- **Interface Unifiée**: Compatible avec `@react-native-async-storage/async-storage` et `react-native-mmkv`.
|
|
124
|
+
- **CRUD en Direct dans l'App**: Consultez, recherchez, créez, modifiez et supprimez des clés directement à l'écran.
|
|
125
|
+
- **Typage Intelligent**: Reconnaissance automatique des objets JSON, tableaux, booléens, nombres et chaînes.
|
|
126
|
+
|
|
127
|
+
### 🔔 4. Enregistreur de Notifications Push
|
|
128
|
+
- **Multi-Fournisseurs**: FCM, APNs, Salesforce Marketing Cloud, OneSignal et Notifee.
|
|
129
|
+
- **Suivi d'État de l'App**: Distingue les réceptions au Premier Plan (**Foreground**), en Arrière-Plan (**Background**) ou après Fermeture (**Killed**).
|
|
130
|
+
- **Inspection des Données**: Paramètres complets, liens profonds (deep-links), titres, corps et identifiants de canaux.
|
|
131
|
+
|
|
132
|
+
### 🪵 5. Enregistreur de Console & Symbolisation Metro Source-Map
|
|
133
|
+
- **Numéros de Ligne Exacts**: Intercepte `console.log`, `warn` et `error` en affichant le vrai fichier source et la ligne exacte via Metro (`HomeScreen.tsx:42:15`).
|
|
134
|
+
- **Décomposition des Arguments**: Chaque argument est inspecté individuellement avec son type.
|
|
135
|
+
- **Pile d'Appel & Pile d'Erreur**: Cartes structurées avec noms de fonctions, chemins de fichiers et piles d'exceptions.
|
|
136
|
+
- **Regroupement Intelligent**: Regroupe les logs identiques successifs avec un compteur (`×N`).
|
|
137
|
+
|
|
138
|
+
### 🔄 6. Diffs d'État Redux & Chronologie des Actions
|
|
139
|
+
- **Intégration Redux Toolkit**: Prise en charge fluide de Redux Store, RTK Query et `redux-persist`.
|
|
140
|
+
- **Chronologie des Actions**: Historique ordonné des actions avec temps d'exécution et données transmises.
|
|
141
|
+
- **Diffs Visuels Colorés**: Modifications mises en valeur (**Vert** pour ajouts, **Jaune** pour mises à jour, **Rouge** pour suppressions).
|
|
142
|
+
|
|
143
|
+
### 📊 7. Suivi des Événements Analytiques
|
|
144
|
+
- **Accroche Automatique Firebase**: Intercepte `logEvent`, `logScreenView`, `setUserProperties` et `setUserId`.
|
|
145
|
+
- **Architecture Modulaire**: Connexion facile à Google Analytics 4, Mixpanel, Segment et Amplitude.
|
|
146
|
+
- **Analyse des Paramètres**: Visualisez les paramètres d'événements, propriétés utilisateurs et horodatages.
|
|
147
|
+
|
|
148
|
+
### 🛡️ 8. Protection Anti-Crash & Limite Globale d'Erreurs
|
|
149
|
+
- **Micro-UI Isolée**: L'inspecteur fonctionne dans sa propre bulle et ne fera jamais planter l'application hôte.
|
|
150
|
+
- **Limite d'Erreurs React (ErrorBoundary)**: Capture les plantages de rendu React non gérés avec écran de récupération.
|
|
151
|
+
- **Fil d'Ariane (Breadcrumbs)**: Reconstitue les navigations, requêtes réseau et actions Redux précédant une erreur.
|
|
152
|
+
|
|
153
|
+
### 📱 9. Télémétrie Matérielle Native, RAM & Performances
|
|
154
|
+
- **Métriques Système**: RAM totale et disponible, Tas natif alloué, Espace disque libre, Batterie et architecture CPU.
|
|
155
|
+
- **Compteur FPS en Direct**: Mesure continue du taux de rafraîchissement de l'écran.
|
|
156
|
+
- **Purger sur Alerte Mémoire**: Libère automatiquement la mémoire tampon en cas d'avertissement système.
|
|
157
|
+
- **Geste de Secousse**: Secouez l'appareil ou appuyez sur `Ctrl+Cmd+Z` / `Cmd+M` pour ouvrir l'inspecteur.
|
|
158
|
+
|
|
159
|
+
### 📸 10. Capture Multimédia Native & Studio d'Édition Intégré
|
|
160
|
+
- **Capture sur l'Appareil**: Réalisez des captures d'écran haute résolution, des vidéos MP4 fluides ou des GIFs animés.
|
|
161
|
+
- **Galerie Multimédia Complète**: Parcourez, filtrez (Photos, Vidéos, GIFs), sélectionnez en lot et copiez les chemins d'accès.
|
|
162
|
+
- **Studio d'Édition Photo & Vidéo**:
|
|
163
|
+
- **Recadrage & Redimensionnement**: Ratios prédéfinis (Carré 1:1, 4:3, 16:9) et réduction de taille pour des envois rapides.
|
|
164
|
+
- **Découpage Vidéo & Audio**: Ajustez les points de début/fin, modifiez la vitesse de lecture (0.5× – 2.0×) ou coupez le son.
|
|
165
|
+
- **Extraction d'Images PNG**: Extrayez instantanément une image PNG haute définition à n'importe quel moment de la vidéo.
|
|
166
|
+
- **Outils d'Annotation et de Rapport QA**:
|
|
167
|
+
- **Grille 3×3 Style Instagram**: Affichez un quadrillage pour contrôler les alignements au pixel près.
|
|
168
|
+
- **Badges d'Étapes Numérotées**: Placez des pastilles chiffrées (`1`, `2`, `3`...) pour documenter les étapes de reproduction.
|
|
169
|
+
- **Tags Bug & Note**: Déposez des symboles visuels de bug (`🐛`), note (`📝`) ou alerte.
|
|
170
|
+
- **Texte & Filigrane QA**: Rédigez des notes explicatives et activez un filigrane contenant le modèle et l'OS du téléphone.
|
|
171
|
+
- **Importateur de Galerie**: Importez des photos ou vidéos depuis la pellicule du téléphone pour les éditer.
|
|
172
|
+
|
|
173
|
+
### 🎛️ 11. Bouton Flottant Déplaçable (FAB) & Mode Transparence (Peek Mode)
|
|
174
|
+
- **Lanceur Flottant**: Bulle déplaçable dans tous les coins avec badge de notifications non lues.
|
|
175
|
+
- **Zone de Fermeture Inférieure**: Faites glisser vers la zone lumineuse en bas de l'écran pour fermer proprement.
|
|
176
|
+
- **Mode Transparence**: Réglez l'opacité de 0.05 à 1.0 pour continuer à utiliser l'application tout en observant les logs et le réseau.
|
|
177
|
+
|
|
178
|
+
### ☁️ 12. Gestion des Modules par Firebase Remote Config
|
|
179
|
+
- **Feature Flags à Distance**: Activez ou désactivez les onglets de l'inspecteur depuis la console Firebase sans déployer de mise à jour.
|
|
180
|
+
|
|
181
|
+
### 🌍 13. 25 Langues Mondiales & Sélecteur en Feuille Inférieure
|
|
182
|
+
- **25 Langues Supportées**: Français, Anglais, Espagnol, Allemand, Italien, Portugais, Russe, Japonais, Coréen, Chinois, Arabe, Hindi, etc.
|
|
183
|
+
- **Sélecteur Moderne**: Appuyez sur `[ 🌐 FR ▾ ]` dans l'en-tête pour afficher la feuille de choix avec drapeaux et recherche instantanée.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 🔎 Syntaxe de Recherche DevTools
|
|
188
|
+
|
|
189
|
+
```text
|
|
190
|
+
method:POST status:200 # Filter POST requests with 200 OK
|
|
191
|
+
url:api.myapp.com -analytics # Filter domain and exclude analytics
|
|
192
|
+
header:authorization # Filter requests containing auth header
|
|
193
|
+
body:"orderId" # Search in request/response JSON body
|
|
194
|
+
page:CheckoutScreen # Filter logs by screen/route name
|
|
195
|
+
file:ProfileView.tsx # Filter console logs by source file
|
|
196
|
+
-healthcheck -socket.io # Exclude unwanted logs
|
|
197
|
+
```
|
|
72
198
|
|
|
73
199
|
---
|
|
74
200
|
|
|
@@ -76,16 +202,18 @@ La **suite d'outils de débogage intégrée tout-en-un et sans configuration pou
|
|
|
76
202
|
|
|
77
203
|
```bash
|
|
78
204
|
npm install --save-dev react-native-inapp-inspector react-native-svg
|
|
79
|
-
#
|
|
205
|
+
# or
|
|
80
206
|
yarn add -D react-native-inapp-inspector react-native-svg
|
|
207
|
+
# or
|
|
208
|
+
pnpm add -D react-native-inapp-inspector react-native-svg
|
|
81
209
|
```
|
|
82
210
|
|
|
83
|
-
####
|
|
211
|
+
#### iOS CocoaPods
|
|
84
212
|
```bash
|
|
85
213
|
cd ios && pod install && cd ..
|
|
86
214
|
```
|
|
87
215
|
|
|
88
|
-
###
|
|
216
|
+
### Expo
|
|
89
217
|
```bash
|
|
90
218
|
npx expo install react-native-inapp-inspector react-native-svg
|
|
91
219
|
```
|
|
@@ -94,8 +222,6 @@ npx expo install react-native-inapp-inspector react-native-svg
|
|
|
94
222
|
|
|
95
223
|
## 🚀 Démarrage Rapide
|
|
96
224
|
|
|
97
|
-
Dans votre fichier d'entrée (`App.tsx` ou `index.js`) :
|
|
98
|
-
|
|
99
225
|
```tsx
|
|
100
226
|
import React from 'react';
|
|
101
227
|
import { SafeAreaView } from 'react-native';
|
|
@@ -109,7 +235,7 @@ import NetworkInspector, {
|
|
|
109
235
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
110
236
|
import { store } from './src/store';
|
|
111
237
|
|
|
112
|
-
// ⚡
|
|
238
|
+
// ⚡ Initialize interceptors before app mount
|
|
113
239
|
setupNetworkLogger();
|
|
114
240
|
setupConsoleLogger();
|
|
115
241
|
setupSocketLogger();
|
|
@@ -122,7 +248,7 @@ export default function App() {
|
|
|
122
248
|
<SafeAreaView style={{ flex: 1 }}>
|
|
123
249
|
<YourAppRoot />
|
|
124
250
|
|
|
125
|
-
{/*
|
|
251
|
+
{/* Mount In-App Inspector in DEV builds */}
|
|
126
252
|
{__DEV__ && (
|
|
127
253
|
<NetworkInspector
|
|
128
254
|
enabled={true}
|
|
@@ -133,31 +259,3 @@ export default function App() {
|
|
|
133
259
|
);
|
|
134
260
|
}
|
|
135
261
|
```
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 🔎 Syntaxe de Recherche Avancée (DevTools)
|
|
140
|
-
|
|
141
|
-
```text
|
|
142
|
-
method:POST status:200 # Filtrer les requêtes POST avec réponse 200 OK
|
|
143
|
-
url:api.myapp.com -analytics # Cibler votre API en excluant les trackers
|
|
144
|
-
header:authorization # Filtrer les requêtes contenant un token
|
|
145
|
-
body:"orderId" # Rechercher dans le corps JSON
|
|
146
|
-
page:CheckoutScreen # Filtrer par écran actif React Navigation
|
|
147
|
-
file:ProfileView.tsx # Filtrer les logs par fichier source
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
## 🔍 Mots-Clés de Recherche (Keywords)
|
|
151
|
-
|
|
152
|
-
Optimisé pour les développeurs en France, au Canada (Québec), en Belgique et en Suisse :
|
|
153
|
-
|
|
154
|
-
* **Termes recherchés**: Débogueur React Native, inspecteur réseau mobile, outils de développement, capture paquets mobile, journal réseau, analyseur réseau mobile, dépannage mobile React Native.
|
|
155
|
-
* **Alternatives populaires**: Alternative à Flipper, alternative à Charles Proxy, Chucker pour React Native, alternative à Proxyman, alternative à Reactotron.
|
|
156
|
-
* **Fonctionnalités clés**: Analyseur WebSocket, éditeur MMKV, inspecteur AsyncStorage, journalisation des notifications push, capture d'écran vidéo sur appareil.
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## 📄 Licence
|
|
161
|
-
|
|
162
|
-
MIT © [vengatmacuser](LICENSE)
|
|
163
|
-
|