📱 Geo-Engine Flutter SDK

Cliente oficial para integrar rastreo de ubicación en tiempo real en aplicaciones Flutter. Permite enviar coordenadas GPS de dispositivos móviles hacia la plataforma Geo-Engine de forma sencilla y segura.


✨ Características

  • 📍 Envío de ubicación (latitud / longitud)
  • 🔐 Autenticación mediante API Key
  • ⚡ API simple y asincrónica
  • 🧪 Soporte para entornos locales y de pruebas
  • 📦 Diseñado para apps Flutter (Android / iOS)

🚀 Instalación

Agrega la dependencia en tu archivo pubspec.yaml:

dependencies:
  geo_engine:
    git:
      url: https://github.com/tu-usuario/geo-engine-flutter.git
      ref: main

Luego ejecuta:

flutter pub get

📝 Nota: En el futuro, cuando el paquete esté publicado en pub.dev, podrás instalarlo así:

dependencies:
  geo_engine: ^1.0.0

⚡ Uso Básico

1️⃣ Importar el paquete

import 'package:geo_engine/geo_engine.dart';

2️⃣ Inicializar el cliente

final geo = GeoEngine(apiKey: 'sk_live_...');

3️⃣ Enviar ubicación

try {
  await geo.sendLocation(
    deviceId: 'camion-01',
    latitude: 19.4326,
    longitude: -99.1332,
  );

  print('✅ Enviado con éxito');
} catch (e) {
  print('❌ Error: $e');
}

🔧 Configuración Avanzada

Usar un servidor local o entorno de pruebas

Si necesitas apuntar a un backend local (por ejemplo durante desarrollo), puedes sobrescribir la URL de ingestión:

final geo = GeoEngine(
  apiKey: 'sk_test_...',
  ingestUrl: 'http://10.0.2.2:8080', // Localhost desde emulador Android
);

📋 Parámetros

sendLocation

Parámetro Tipo Descripción
deviceId String Identificador único del dispositivo
latitude double Latitud GPS
longitude double Longitud GPS

🚧 Manejo de Errores

Todos los métodos lanzan excepciones en caso de error de red, autenticación o validación. Se recomienda envolver las llamadas en bloques try / catch.


🛣 Roadmap

  • ⏱ Envío periódico de ubicación
  • 🔋 Optimización para bajo consumo de batería
  • 🗺 Integración con geocercas
  • 📦 Publicación oficial en pub.dev

🤝 Contribuir

Las contribuciones son bienvenidas 🙌

  1. Haz un fork del repositorio
  2. Crea una rama (feature/nueva-funcionalidad)
  3. Haz commit de tus cambios
  4. Abre un Pull Request

📄 Licencia

MIT License © Geo-Engine

Libraries

geo_engine_sdk