> For the complete documentation index, see [llms.txt](https://robertos-organization-13.gitbook.io/geoflowlive/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://robertos-organization-13.gitbook.io/geoflowlive/basics/editor/markdown.md).

# GeoFlowLiveSetting Data Type

Data Types attributes and descriptions.

**GeoFlowLive** utilizes custom data types to structure and manage geolocation information within your **Flutterflow** applications. These data types are specifically designed to work seamlessly with **Flutterflow's** data model.

GeoFlowLiveSetting

This data type is used to configure the behavior of location tracking in your application. It allows you to fine-tune the location requests based on your specific needs and platform requirements.

| Field Name                             | Data Type                     | Default Value       | Description                                                                                                                                                                                                                                                                                    |
| -------------------------------------- | ----------------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `delayTimeBeforeStart`                 | `Integer`                     | `0`                 | Specifies a delay in milliseconds before location updates begin after the `startListeningLocationUpdate` action is initiated. This can be useful to allow for setup processes before location tracking starts.                                                                                 |
| `distanceFilter`                       | `Integer`                     | 1`0`                | Defines the minimum distance (in meters) that the device must move horizontally before location updates are generated. A larger value conserves battery but reduces location update frequency.                                                                                                 |
| `androidAccuracy`                      | `GeoFlowLiveLocationAccuracy` | `high`              | Sets the desired accuracy level for location updates on Android devices. Defaults to `high` accuracy. Refer to the `GeoFlowLiveLocationAccuracy` enum for possible values (e.g., `best`, `high`, `low`).                                                                                       |
| `androidForceLocationManager`          | `Boolean`                     | `false`             | On Android, forces the use of the Location Manager even if the GPS provider is available. Defaults to `false`, allowing the system to choose the best provider. This setting might be useful in specific scenarios but generally, it's recommended to let the system choose the best provider. |
| `androidIntervalDuration`              | `Integer`                     | `1` (second)        | For Android devices, specifies the desired interval in seconds for location updates when using the Location Manager. Defaults to `1` second. Note that actual update frequency may vary based on system resources and other factors.                                                           |
| `androidNotificationText`              | `String`                      | `""` (empty string) | Sets the text content of the foreground notification displayed on Android when location tracking is active. This notification is required for foreground services on newer Android versions. Default is an empty string (you should customize this).                                           |
| `androidNotificationTitle`             | `String`                      | `""` (empty string) | Sets the title of the foreground notification displayed on Android when location tracking is active. Default is an empty string (you should customize this).                                                                                                                                   |
| `androidEnableWakeLock`                | `Boolean`                     | `false`             | On Android, keeps the device awake while location tracking is active. Defaults to `false`. Enabling this may improve location accuracy and reliability but will increase battery consumption. Use with caution.                                                                                |
| `iOSAccuracy`                          | `GeoFlowLiveLocationAccuracy` | `high`              | Sets the desired accuracy level for location updates on iOS devices. Defaults to `high` accuracy. Refer to the `GeoFlowLiveLocationAccuracy` enum for possible values.                                                                                                                         |
| `iOSActivityType`                      | `GeoFlowLiveIOSActivityType`  | `other`             | On iOS, hints the system about the user's activity type, which can help optimize location updates for different scenarios (e.g., `fitness`, `automotiveNavigation`). Defaults to `other`. Refer to `GeoFlowLiveIOSActivityType` enum.                                                          |
| `iOSPauseLocationUpdatesAutomatically` | `Boolean`                     | `true`              | On iOS, indicates whether location updates should be automatically paused when the app is in the background and the device is stationary, potentially saving battery. Defaults to `true`.                                                                                                      |
| `iOSShowBackgroundLocationIndicator`   | `Boolean`                     | `false`             | On iOS, determines whether to show the background location indicator in the status bar when the app is using location services in the background. Defaults to `false`.                                                                                                                         |
| `webMaximumAge`                        | `Integer`                     | `60` (seconds)      | For web platforms, specifies the maximum time (in seconds) that a cached location is considered valid. If a cached location is older than this value, a new location will be requested. Default is `60` seconds.                                                                               |

{% hint style="info" %}
**Key Points about Default Values:**

* **Customization is Key:** While default values are provided, encourage users to configure these settings based on their app's specific requirements for accuracy, battery usage, and update frequency.

* **Platform Differences:** Note the platform-specific settings (Android, iOS, Web) and how defaults might behave differently on each.

* **Empty Strings:** For `androidNotificationText` and `androidNotificationTitle`, the default is an empty string.  We emphasize that users should provide meaningful text for these to create informative notifications.
  {% endhint %}
