Config class
Configuration API.
The Config class defines all SDK options, grouped into compound configuration objects:
- GeoConfig — Geolocation and filtering options
- AppConfig — Application lifecycle options
- HttpConfig — Networking and HTTP sync options
- PersistenceConfig — Data persistence and database options
- LoggerConfig — Logging and debugging options
- ActivityConfig — Motion and activity-recognition options
Instances of Config are consumed by BackgroundGeolocation.ready and BackgroundGeolocation.setConfig.
Example
import 'package:flutter_background_geolocation/flutter_background_geolocation.dart' as bg;
void main() async {
// Configure the SDK with compound configuration objects.
bg.Config config = bg.Config(
geolocation: bg.GeoConfig(
desiredAccuracy: bg.GeoConfig.DESIRED_ACCURACY_HIGH,
distanceFilter: 20.0,
stopTimeout: 5,
stationaryRadius: 150.0,
),
activity: bg.ActivityConfig(
activityRecognitionInterval: 10000,
minimumActivityRecognitionConfidence: 75,
disableStopDetection: false,
motionTriggerDelay: 30000,
),
http: bg.HttpConfig(
url: 'https://my.server.com/api/locations',
method: 'POST',
autoSync: true,
headers: {
'Authorization': 'Bearer secret-token'
},
params: {
'user_id': 123
},
),
persistence: bg.PersistenceConfig(
persistMode: bg.PersistenceConfig.PERSIST_MODE_ALL,
maxDaysToPersist: 14,
extras: {'appVersion': '1.0.0'},
),
app: bg.AppConfig(
stopOnTerminate: false,
startOnBoot: true,
enableHeadless: true,
heartbeatInterval: 60,
),
logger: bg.LoggerConfig(
debug: true,
logLevel: bg.LoggerConfig.LOG_LEVEL_VERBOSE,
logMaxDays: 3,
),
);
// Apply the configuration.
bg.BackgroundGeolocation.ready(config).then((bg.State state) {
print('[ready] BackgroundGeolocation is configured and ready to use');
if (!state.enabled) {
bg.BackgroundGeolocation.start();
}
});
// To modify configuration after initialization, use [setConfig].
bg.BackgroundGeolocation.setConfig(bg.Config(
http: bg.HttpConfig(
headers: {
'Authorization': 'Bearer new-token'
}
),
logger: bg.LoggerConfig(
logLevel: bg.Config.LOG_LEVEL_INFO
),
)).then((bg.State state) {
bg.BackgroundGeolocation.sync();
});
}
- Implementers
Constructors
-
Config({GeoConfig? geolocation, AppConfig? app, HttpConfig? http, PersistenceConfig? persistence, LoggerConfig? logger, ActivityConfig? activity, Authorization? authorization, int? desiredAccuracy, double? distanceFilter, double? stationaryRadius, int? locationTimeout, bool? disableElasticity, double? elasticityMultiplier, int? stopAfterElapsedMinutes, int? geofenceProximityRadius, int? maxMonitoredGeofences, bool? geofenceInitialTriggerEntry, double? desiredOdometerAccuracy, bool? useSignificantChangesOnly, String? locationAuthorizationRequest, bool? isMoving, int? stopTimeout, int? activityRecognitionInterval, int? minimumActivityRecognitionConfidence, bool? disableStopDetection, bool? stopOnStationary, String? url, int? persistMode, String? method, String? httpRootProperty, Map<
String, dynamic> ? params, Map<String, dynamic> ? headers, Map<String, dynamic> ? extras, bool? autoSync, bool? disableAutoSyncOnCellular, bool? disableProviderChangeRecord, int? autoSyncThreshold, bool? batchSync, int? maxBatchSize, String? locationTemplate, String? geofenceTemplate, int? maxDaysToPersist, int? maxRecordsToPersist, String? locationsOrderDirection, int? httpTimeout, bool? stopOnTerminate, bool? startOnBoot, int? heartbeatInterval, List<String> ? schedule, bool? scheduleUseAlarmManager, bool? debug, int? logLevel, int? logMaxDays, bool? reset, bool? pausesLocationUpdatesAutomatically, Map<String, dynamic> ? locationAuthorizationAlert, bool? disableLocationAuthorizationAlert, bool? showsBackgroundLocationIndicator, int? activityType, int? stopDetectionDelay, bool? disableMotionActivityUpdates, bool? preventSuspend, int? locationUpdateInterval, int? fastestLocationUpdateInterval, int? deferTime, bool? allowIdenticalLocations, bool? enableTimestampMeta, int? speedJumpFilter, bool? geofenceModeHighAccuracy, String? triggerActivities, int? motionTriggerDelay, bool? enableHeadless, bool? foregroundService, Notification? notification, PermissionRationale? backgroundPermissionRationale, TransistorAuthorizationToken? transistorAuthorizationToken})
Properties
- activity → ActivityConfig?
-
Activity Recognition Configuration.
final
- activityRecognitionInterval ↔ int?
-
Deprecated: Use ActivityConfig.activityRecognitionInterval via Config.activity.
getter/setter pair
- activityType ↔ int?
-
Deprecated: Use GeoConfig.activityType via Config.geolocation.
getter/setter pair
- allowIdenticalLocations ↔ bool?
-
Deprecated: Use GeoConfig.allowIdenticalLocations via Config.geolocation.
getter/setter pair
- app → AppConfig?
-
Application & lifecycle configuration.
final
-
Authorization Configuration
getter/setter pair
- autoSync ↔ bool?
-
Deprecated: Use HttpConfig.autoSync via Config.http.
getter/setter pair
- autoSyncThreshold ↔ int?
-
Deprecated: Use HttpConfig.autoSyncThreshold via Config.http.
getter/setter pair
- backgroundPermissionRationale ↔ PermissionRationale?
-
Deprecated: Use AppConfig.backgroundPermissionRationale via Config.app.
getter/setter pair
- batchSync ↔ bool?
-
Deprecated: Use HttpConfig.batchSync via Config.http.
getter/setter pair
- debug ↔ bool?
-
Logger Config
Deprecated: Use LoggerConfig.debug via Config.logger.
getter/setter pair
- deferTime ↔ int?
-
Deprecated: Use GeoConfig.deferTime via Config.geolocation.
getter/setter pair
- desiredAccuracy ↔ int?
-
Geolocation Config
getter/setter pair
- desiredOdometerAccuracy ↔ double?
-
Deprecated: Use LocationFilter.odometerAccuracyThreshold via
Config.geolocation.filter.getter/setter pair - disableAutoSyncOnCellular ↔ bool?
-
Deprecated: Use HttpConfig.disableAutoSyncOnCellular via Config.http.
getter/setter pair
- disableElasticity ↔ bool?
-
Deprecated: Use GeoConfig.disableElasticity via Config.geolocation.
getter/setter pair
- disableLocationAuthorizationAlert ↔ bool?
-
Deprecated: Use GeoConfig.disableLocationAuthorizationAlert via Config.geolocation.
getter/setter pair
- disableMotionActivityUpdates ↔ bool?
-
Deprecated: Use ActivityConfig.disableMotionActivityUpdates via Config.activity.
getter/setter pair
- disableProviderChangeRecord ↔ bool?
-
Deprecated: Use PersistenceConfig.disableProviderChangeRecord via Config.persistence.
getter/setter pair
- disableStopDetection ↔ bool?
-
Deprecated: Use ActivityConfig.disableStopDetection via Config.activity.
getter/setter pair
- distanceFilter ↔ double?
-
Deprecated: Use GeoConfig.distanceFilter via Config.geolocation.
getter/setter pair
- elasticityMultiplier ↔ double?
-
Deprecated: Use GeoConfig.elasticityMultiplier via Config.geolocation.
getter/setter pair
- enableHeadless ↔ bool?
-
Deprecated: Use AppConfig.enableHeadless via Config.app.
getter/setter pair
- enableTimestampMeta ↔ bool?
-
Deprecated: Use GeoConfig.enableTimestampMeta via Config.geolocation.
getter/setter pair
-
extras
↔ Map<
String, dynamic> ? -
Deprecated: Use PersistenceConfig.extras via Config.persistence.
getter/setter pair
- fastestLocationUpdateInterval ↔ int?
-
Deprecated: Use GeoConfig.fastestLocationUpdateInterval via Config.geolocation.
getter/setter pair
- foregroundService ↔ bool?
-
Deprecated: No longer used; always
true.getter/setter pair - geofenceInitialTriggerEntry ↔ bool?
-
Deprecated: Use GeoConfig.geofenceInitialTriggerEntry via Config.geolocation.
getter/setter pair
- geofenceModeHighAccuracy ↔ bool?
-
Deprecated: Use GeoConfig.geofenceModeHighAccuracy via Config.geolocation.
getter/setter pair
- geofenceProximityRadius ↔ int?
-
Deprecated: Use GeoConfig.geofenceProximityRadius via Config.geolocation.
getter/setter pair
- geofenceTemplate ↔ String?
-
Deprecated: Use PersistenceConfig.geofenceTemplate via Config.persistence.
getter/setter pair
- geolocation → GeoConfig?
-
Geolocation Configuration.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
-
headers
↔ Map<
String, dynamic> ? -
Deprecated: Use HttpConfig.headers via Config.http.
getter/setter pair
- heartbeatInterval ↔ int?
-
Deprecated: Use AppConfig.heartbeatInterval via Config.app.
getter/setter pair
- http → HttpConfig?
-
HTTP / Networking Configuration
final
- httpRootProperty ↔ String?
-
Deprecated: Use HttpConfig.rootProperty via Config.http.
getter/setter pair
- httpTimeout ↔ int?
-
Deprecated: Use HttpConfig.timeout via Config.http.
getter/setter pair
- isMoving ↔ bool?
-
Activity-recognition Config
Configure the SDK's initial state to tracking with location-services ON.
getter/setter pair
-
locationAuthorizationAlert
↔ Map<
String, dynamic> ? -
Deprecated: Use GeoConfig.locationAuthorizationAlert via Config.geolocation.
getter/setter pair
- locationAuthorizationRequest ↔ String?
-
Deprecated: Use GeoConfig.locationAuthorizationRequest via Config.geolocation.
getter/setter pair
- locationsOrderDirection ↔ String?
-
Deprecated: Use PersistenceConfig.locationsOrderDirection via Config.persistence.
getter/setter pair
- locationTemplate ↔ String?
-
Deprecated: Use PersistenceConfig.locationTemplate via Config.persistence.
getter/setter pair
- locationTimeout ↔ int?
-
Deprecated: Use GeoConfig.locationTimeout via Config.geolocation.
getter/setter pair
- locationUpdateInterval ↔ int?
-
Deprecated: Use GeoConfig.locationUpdateInterval via Config.geolocation.
getter/setter pair
- logger → LoggerConfig?
-
Logging / Diagnostics Configuration
final
- logLevel ↔ int?
-
Deprecated: Use LoggerConfig.logLevel via Config.logger.
getter/setter pair
- logMaxDays ↔ int?
-
Deprecated: Use LoggerConfig.logMaxDays via Config.logger.
getter/setter pair
- maxBatchSize ↔ int?
-
Deprecated: Use HttpConfig.maxBatchSize via Config.http.
getter/setter pair
- maxDaysToPersist ↔ int?
-
Deprecated: Use PersistenceConfig.maxDaysToPersist via Config.persistence.
getter/setter pair
- maxMonitoredGeofences ↔ int?
-
Deprecated: Use GeoConfig.maxMonitoredGeofences via Config.geolocation.
getter/setter pair
- maxRecordsToPersist ↔ int?
-
Deprecated: Use PersistenceConfig.maxRecordsToPersist via Config.persistence.
getter/setter pair
- method ↔ String?
-
Deprecated: Use HttpConfig.method via Config.http.
getter/setter pair
- minimumActivityRecognitionConfidence ↔ int?
-
Deprecated: Use ActivityConfig.minimumActivityRecognitionConfidence via Config.activity.
getter/setter pair
- motionTriggerDelay ↔ int?
-
Deprecated: Use ActivityConfig.motionTriggerDelay via Config.activity.
getter/setter pair
- notification ↔ Notification?
-
Deprecated: Use AppConfig.notification via Config.app.
getter/setter pair
-
params
↔ Map<
String, dynamic> ? -
Deprecated: Use HttpConfig.params via Config.http.
getter/setter pair
- pausesLocationUpdatesAutomatically ↔ bool?
-
Deprecated: Use GeoConfig.pausesLocationUpdatesAutomatically via Config.geolocation.
getter/setter pair
- persistence → PersistenceConfig?
-
Persistence / Storage Configuration
final
- persistMode ↔ int?
-
Persistence Config
Deprecated: Use PersistenceConfig.persistMode via Config.persistence.
getter/setter pair
- preventSuspend ↔ bool?
-
Deprecated: Use AppConfig.preventSuspend via Config.app.
getter/setter pair
- reset ↔ bool?
-
Determines whether to reset the existing Config to defaults before appying new config (default true)
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
schedule
↔ List<
String> ? -
Deprecated: Use AppConfig.schedule via Config.app.
getter/setter pair
- scheduleUseAlarmManager ↔ bool?
-
Deprecated: Use AppConfig.scheduleUseAlarmManager via Config.app.
getter/setter pair
- showsBackgroundLocationIndicator ↔ bool?
-
Deprecated: Use GeoConfig.showsBackgroundLocationIndicator via Config.geolocation.
getter/setter pair
- speedJumpFilter ↔ int?
-
Deprecated: Use GeoConfig.filter settings via Config.geolocation.
getter/setter pair
- startOnBoot ↔ bool?
-
Deprecated: Use AppConfig.startOnBoot via Config.app.
getter/setter pair
- stationaryRadius ↔ double?
-
Deprecated: Use GeoConfig.stationaryRadius via Config.geolocation.
getter/setter pair
- stopAfterElapsedMinutes ↔ int?
-
Deprecated: Use GeoConfig.stopAfterElapsedMinutes via Config.geolocation.
getter/setter pair
- stopDetectionDelay ↔ int?
-
Deprecated: Use ActivityConfig.stopDetectionDelay via Config.activity.
getter/setter pair
- stopOnStationary ↔ bool?
-
Deprecated: Use ActivityConfig.stopOnStationary via Config.activity.
getter/setter pair
- stopOnTerminate ↔ bool?
-
Application Config
Deprecated: Use AppConfig.stopOnTerminate via Config.app.
getter/setter pair
- stopTimeout ↔ int?
-
Deprecated: Use GeoConfig.stopTimeout via Config.geolocation.
getter/setter pair
- transistorAuthorizationToken ↔ TransistorAuthorizationToken?
-
Convenience option to automatically configures the SDK to upload locations to the Transistor Software demo server at http://tracker.transistorsoft.com (or your own local instance of background-geolocation-console)
getter/setter pair
- triggerActivities ↔ String?
-
Deprecated: Use ActivityConfig.triggerActivities via Config.activity.
getter/setter pair
- url ↔ String?
-
HTTP Config
Deprecated: Use HttpConfig.url via Config.http.
getter/setter pair
- useSignificantChangesOnly ↔ bool?
-
Deprecated: Use GeoConfig.useSignificantChangesOnly via Config.geolocation.
getter/setter pair
Methods
-
compoundToMap(
) → Map< String, dynamic> - Returns only the compound config groups as a Map suitable for marshalling.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
set(
String key, dynamic value) → Config -
toMap(
) → Map? -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
-
deviceParams
→ Future<
Map< String, dynamic> > -
@deprecated: Use transistorAuthorizationToken
no setter
Constants
- ACTIVITY_TYPE_AIRBORNE → const int
- ACTIVITY_TYPE_AUTOMOTIVE_NAVIGATION → const int
- ACTIVITY_TYPE_FITNESS → const int
- ACTIVITY_TYPE_OTHER → const int
- ACTIVITY_TYPE_OTHER_NAVIGATION → const int
- AUTHORIZATION_STATUS_ALWAYS → const int
- AUTHORIZATION_STATUS_DENIED → const int
- AUTHORIZATION_STATUS_NOT_DETERMINED → const int
- AUTHORIZATION_STATUS_RESTRICTED → const int
- AUTHORIZATION_STATUS_WHEN_IN_USE → const int
- DESIRED_ACCURACY_HIGH → const int
- DESIRED_ACCURACY_LOW → const int
- DESIRED_ACCURACY_LOWEST → const int
- DESIRED_ACCURACY_MEDIUM → const int
- DESIRED_ACCURACY_NAVIGATION → const int
- DESIRED_ACCURACY_VERY_LOW → const int
- LOG_LEVEL_DEBUG → const int
- LOG_LEVEL_ERROR → const int
- LOG_LEVEL_INFO → const int
- LOG_LEVEL_OFF → const int
- LOG_LEVEL_VERBOSE → const int
- LOG_LEVEL_WARNING → const int
- NOTIFICATION_PRIORITY_DEFAULT → const int
- NOTIFICATION_PRIORITY_HIGH → const int
- NOTIFICATION_PRIORITY_LOW → const int
- NOTIFICATION_PRIORITY_MAX → const int
- NOTIFICATION_PRIORITY_MIN → const int
- PERSIST_MODE_ALL → const int
- PERSIST_MODE_GEOFENCE → const int
- PERSIST_MODE_LOCATION → const int
- PERSIST_MODE_NONE → const int