Skip to Content

Soporte web

Tracelet incluye una implementación web (tracelet_web), por lo que la misma API de Dart se compila y se ejecuta en el navegador. La plataforma web es solo en primer plano y admite un subconjunto de funciones disponibles en Android e iOS. Básicamente, los navegadores no pueden ejecutar la geolocalización en segundo plano, por lo que la web es mejor para el seguimiento en vivo en pestañas (paneles de control, pantallas de conductor/despacho activo) en lugar del seguimiento en segundo plano siempre activo que se obtiene en el móvil.

La única limitación que debes recordar: no hay seguimiento en segundo plano en la web. La API de geolocalización del navegador no se ejecuta en una pestaña en segundo plano, una pestaña cerrada o un trabajador de servicio. El seguimiento se realiza solo mientras su página está abierta y enfocada.

Qué funciona en la web

CaracterísticaNotas
Seguimiento de ubicación en primer planoAPI de geolocalización del navegador (watchPosition); start / stop / getCurrentPosition.
Sincronización HTTPCarga basada en fetch con procesamiento por lotes y reintentos: el mismo HttpConfig.
GeocercasSe evalúa la proximidad mientras la página está abierta.
Zonas de privacidadExcluir/degradar correcciones dentro de áreas sensibles.
Pista de auditoríaCadena hash SHA-256 sobre registros.
Odómetro y estimación de carbonoCalculado desde la pista de primer plano.
Permisos y conectividadnavigator.permissions para ubicación; navigator.onLine para conectividad.
Persistencia localEn memoria, con una copia de seguridad localStorage cuando esté disponible (puede borrarse en algunos modos de incógnito).
API de registrogetLogs(), clearLogs() y log() funcionan como un búfer de registro en memoria.
Programación en primer planoTemporizadores de inicio/parada basados ​​en intervalos simples.

Qué no está disponible en la web

CaracterísticaPor qué
Seguimiento en segundo planoLos navegadores suspenden JS y la geolocalización en pestañas en segundo plano; Los trabajadores del servicio no tienen geolocalización.
Reanudar inicio/reinicio (startOnBoot)No existe ningún proceso del sistema operativo para reiniciar una página web.
Tareas sin cabeza y devoluciones de llamada de sincronización sin cabezaNo existe ningún fondo aislado de Dart en la web.
Tareas en segundo plano (startBackgroundTask)Sin ejecución en segundo plano.
Detección de movimiento/reconocimiento de actividadNo hay un navegador equivalente confiable (el permiso de movimiento es un código auxiliar).
Notificación de servicio en primer planoUn concepto exclusivo de Android.
Base de datos cifrada (encryptDatabase)El almacenamiento web está en memoria / localStorage (no cifrado): la bandera no está operativa.
Certificación del dispositivoNingún navegador equivalente.
estimaciónNo implementado en la web.
Telemática y sincronización personalizadaSin telemática de hardware (getTelematicsEvents(), simulateTelematicsEvent()) ni sincronización en segundo plano personalizada (connectCustomSync()).
emailLog, playSound, alarmas exactasSin equivalente web (no operativo/no compatible).

Las llamadas a API no compatibles no fallan: registran un mensaje [Tracelet Web] … not supported on web claro y devuelven un valor predeterminado seguro, por lo que el código multiplataforma compartido sigue ejecutándose.

Cuando usar la web

  • ✅ Paneles de seguimiento en vivo, pantallas de despacho/conductor o cualquier flujo donde la pestaña permanezca abierta y enfocada.
  • ✅ Compartir una base de código de Dart en dispositivos móviles y web, con una degradación elegante en el navegador.
  • ❌ Seguimiento en segundo plano “siempre activo”, alertas de geovalla mientras la pestaña está cerrada o cualquier cosa que requiera que el dispositivo siga rastreando sin la página abierta; use las aplicaciones de Android/iOS para eso.