POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Monitor de conectividad KMP mini (Android e iOS) sin Pods

## Monitor de conectividad KMP mini para Android e iOS sin Pods

Publicado el 03/09/2025

He liberado como código abierto un monitor de conectividad mínimo para Kotlin Multiplatform que expone un único StateFlow de estado de conectividad desde el código compartido. En Android se apoya en callbacks de ConnectivityManager y en iOS utiliza SCNetworkReachability sin depender de CocoaPods.

Repositorio: GitHub KMP Connectivity Monitor · Demo en video: YouTube

Por qué lo construí

Casi todas las apps deben reaccionar a la conectividad. Buscaba un enfoque de producción para Compose Multiplatform con fricción cero que mantuviera una sola API en commonMain, implementaciones nativas por plataforma, sin CocoaPods en iOS y uso sencillo desde Compose.

La API mínima en commonMain

Define un enum de estados Online, Offline y Unavailable, una interfaz ConnectivityMonitor con un StateFlow de estado y métodos start y stop, además de una fábrica esperada ConnectivityMonitorFactory para crear instancias específicas por plataforma.

Implementación en Android con ConnectivityManager

La capa Android registra un NetworkCallback y evalúa las capacidades de red comprobando NET_CAPABILITY_INTERNET y NET_CAPABILITY_VALIDATED. Cada cambio actualiza un flujo MutableStateFlow que emite el estado Online u Offline. Requiere permisos en el manifest de la app: android.permission.INTERNET y android.permission.ACCESS_NETWORK_STATE. En librerías conviene incluir ACCESS_NETWORK_STATE en el manifest de androidMain para evitar avisos de lint.

Implementación en iOS con SystemConfiguration sin Pods

En iOS se monitoriza la ruta por defecto mediante SCNetworkReachability. A partir de los flags se determina si es alcanzable y si requiere conexión, emitiendo Online u Offline en el flujo. Para enlazar el framework se añade la opción de link con SystemConfiguration desde Gradle. Si prefieres NWPathMonitor, puedes cambiar la implementación a Network framework y enlazar ese framework en su lugar.

Uso en Compose Multiplatform

En tu Composable principal crea el monitor con la fábrica, colecciona el StateFlow con un valor inicial Unavailable y gestiona el ciclo de vida con start en un efecto lanzado y stop en un efecto desechable. La UI puede renderizar de forma reactiva tarjetas de estado o banners de conectividad basados en Online u Offline.

Puntos de entrada por plataforma

En Android, inyecta la fábrica en setContent y en iOS pásala al Composable de arranque. El patrón de fábrica mantiene el código común limpio y facilita pruebas con dobles o stubs.

Cómo ejecutar

Android se compila con el ensamblado de debug desde Gradle o directamente desde Android Studio. En iOS, ejecuta el destino desde Android Studio con la configuración iOS o desde Xcode, ya sea en simulador o dispositivo.

Hoja de ruta y ayuda

Próximas tareas incluyen un helper Flow.retryWhenOnline basado en el monitor y exponer el tipo de red como WiFi o Celular. Si te resulta útil, una estrella o un PR en el repo sería genial.

Pruebas y licencia

El módulo está preparado para tests con stubs de plataforma y se distribuye bajo licencia MIT disponible en el repositorio.

Repositorio del proyecto: Qandil11 KMP Connectivity Monitor

Cómo puede ayudarte Q2BSTUDIO

En Q2BSTUDIO desarrollamos software a medida y aplicaciones a medida con enfoque multiplataforma, integrando mejores prácticas de ingeniería, seguridad y observabilidad. Si buscas crear una base compartida con Kotlin Multiplatform y una experiencia nativa por plataforma, nuestro equipo puede diseñar arquitecturas robustas y escalables, integrando servicios cloud aws y azure, ciberseguridad avanzada y pipelines de entrega continua. Descubre cómo abordamos proyectos de desarrollo de aplicaciones y software multiplataforma alineados con objetivos de negocio, y cómo potenciamos productos con inteligencia artificial, desde ia para empresas y agentes IA hasta visión por computador y NLP, con un enfoque responsable y seguro. También impulsamos servicios inteligencia de negocio y analítica con power bi para cerrar el ciclo de datos a decisión. Si quieres llevar tu producto al siguiente nivel con IA, visita nuestra solución de inteligencia artificial.

Palabras clave relacionadas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio