startTracking method

Future<bool> startTracking({
  1. bool backgroundMode = true,
  2. int intervalMs = 5000,
  3. double distanceFilter = 0.0,
  4. String? userId,
  5. String? vehicleId,
  6. String? notificationTitle,
  7. String? notificationMessage,
})

Start GPS tracking.

  • backgroundMode Keep tracking when app is in background.
  • intervalMs Minimum time between GPS captures (ms). Pass 0 for distance-only mode.
  • distanceFilter Minimum displacement between GPS captures (m). Pass 0 for timer-only mode.
  • userId Driver / user identifier attached to every GPS record.
  • vehicleId Vehicle identifier attached to every GPS record.

Implementation

Future<bool> startTracking({
  bool   backgroundMode  = true,
  int    intervalMs      = 5000,
  double distanceFilter  = 0.0,
  String? userId,
  String? vehicleId,
  String? notificationTitle,
  String? notificationMessage,
}) async {
  try {
    final result = await _method.invokeMethod<bool>('startTracking', {
      'backgroundMode':      backgroundMode,
      'intervalMs':          intervalMs,
      'distanceFilter':      distanceFilter,
      if (userId   != null) 'userId':              userId,
      if (vehicleId != null) 'vehicleId':          vehicleId,
      if (notificationTitle   != null) 'notificationTitle':   notificationTitle,
      if (notificationMessage != null) 'notificationMessage': notificationMessage,
    });
    return result ?? false;
  } on PlatformException {
    rethrow;
  }
}