Skip to Content
Instalación

Instalación

La instalación de Tracelet implica agregar la dependencia de Flutter y realizar algunas configuraciones nativas del proyecto.

1. Agregue la dependencia

Agregue tracelet a su pubspec.yaml usando la CLI de Flutter:

flutter pub add tracelet

2. Configuración de iOS

Debe definir descripciones de uso y modos de fondo en su ios/Runner/Info.plist. Sin estos, Apple rechazará su aplicación o eliminará la tarea en segundo plano.

<key>NSLocationWhenInUseUsageDescription</key> <string>We need your location to track your route.</string> <key>NSLocationAlwaysAndWhenInUseUsageDescription</key> <string>We need background location to record your route even when the app is closed.</string> <key>NSMotionUsageDescription</key> <string>Motion detection allows battery-efficient tracking by pausing GPS when stationary.</string> <key>UIBackgroundModes</key> <array> <string>location</string> <string>fetch</string> <string>processing</string> </array>

Asegúrese de haber agregado location UIBackgroundMode; de ​​lo contrario, su aplicación se suspenderá cuando se pase a segundo plano.

3. Configuración de Android

Dependencia recomendada: ubicación GMS de alta precisión

Para obtener el proveedor de ubicación fusionado (mejor precisión + batería), el reconocimiento de actividad de hardware y el geofencing de hardware, agrega la ubicación de Servicios de Google Play a tu aplicación. Tracelet no lo incluye (para que sea liviano y admita dispositivos sin Google), por lo que puede optar por:

// android/app/build.gradle.kts dependencies { implementation("com.google.android.gms:play-services-location:21.3.0") }

Sin esta dependencia, Tracelet recurre al AOSP LocationManager (GPS simple): el seguimiento aún funciona, pero se pierden los beneficios de precisión/batería, el reconocimiento de actividad del hardware y la geocerca del hardware del FusedLocationProviderClient. Agréguelo a menos que esté dirigido específicamente a dispositivos sin Google/AOSP. Consulte Configuración de la plataforma Android para obtener una comparación completa.

Dependencia opcional: Play Integrity (certificación de dispositivo)

Si habilita la función certificación de dispositivo de Tracelet (AttestationConfig), agregue también Google Play Integrity a su aplicación. Al igual que la dependencia de ubicación de GMS, Tracelet no la incluye, por lo que puedes optar por:

// android/app/build.gradle.kts dependencies { implementation("com.google.android.play:integrity:1.6.0") }

Solo es necesario si usas la atestación. Sin ella, todas las demás funciones funcionan normalmente: Tracelet.getAttestationToken() simplemente devuelve null en lugar de un token de integridad de juego. Consulte Configuración de la plataforma Android para obtener más detalles.

Permisos

De forma predeterminada, Tracelet inyecta automáticamente todos los permisos necesarios en su manifiesto de Android compilado a través de Manifest Merger. No necesita agregar manualmente etiquetas <uses-permission> a su AndroidManifest.xml a menos que desee anularlas.

Los permisos inyectados son:

  • NO TRADUCIR
  • NO TRADUCIR
  • NO TRADUCIR
  • NO TRADUCIR
  • NO TRADUCIR
  • NO TRADUCIR
  • NO TRADUCIR
  • NO TRADUCIR
  • NO TRADUCIR
  • NO TRADUCIR
  • NO TRADUCIR

Eliminar permisos no utilizados

Si no necesita una función específica (como detección de movimiento o inicio de arranque), puede eliminar esos permisos por la fuerza para reducir los alcances solicitados de su aplicación en Google Play Store.

Para hacer esto, agregue el atributo tools:node="remove" en android/app/src/main/AndroidManifest.xml de su aplicación:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.your.app"> <!-- Remove motion detection permission --> <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" tools:node="remove" /> <!-- Remove start on boot permission --> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" tools:node="remove" /> <application> ... </application> </manifest>

Si elimina ACTIVITY_RECOGNITION, Tracelet volverá a utilizar actualizaciones estacionarias de ubicación estándar, que pueden consumir un poco más de batería que usar el podómetro de hardware.

4. Próximos pasos

Una vez completada la instalación, ¡ahora puedes escribir código Dart!

  • Vaya a Inicio rápido para copiar y pegar una configuración funcional completa.
  • Consulte el Ejemplo básico para ver una implementación mínima.