📱 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 🙌
- Haz un fork del repositorio
- Crea una rama (
feature/nueva-funcionalidad) - Haz commit de tus cambios
- Abre un Pull Request
📄 Licencia
MIT License © Geo-Engine