Our geofencing solution uses virtual boundaries to trigger actions when your device enters or exits specific locations, providing location-based features like automatic sign-in and sign-out while prioritizing battery efficiency and user privacy.
Philosophy of Operations: How Our Geofencing Solution Works
This document outlines how our application utilizes geofencing technology to enhance your experience by providing location-aware features. Our geofencing solution is built using the robust and battery-efficient background-geolocation plugin from Transistor Software, optimized for use within Ionic applications.
Core Principles
Our geofencing feature operates on the principle of creating virtual boundaries around specific geographical locations, which we call "geofences". When your device enters or exits these virtual boundaries, certain actions or events are triggered within the app. This allows us to provide you with relevant information and features based on your location, such as automatic sign-in and sign-out at designated work locations.
How It Works
-
Location Permission is Key: To enable geofencing, the application requires permission to access your device's location even when the app is running in the background. This is typically the "Always Allow" setting on both Android and iOS devices. This permission is essential for the operating system to monitor your location against the defined geofences at all times.
-
Geofence Data: Once you grant the necessary location permission, after logging in the app downloads the geofences relevant to your user account and stores them locally on your device. These geofences define the specific work locations or areas where the app's location-based features are active.
-
Operating System Monitoring: The Transistor Software plugin leverages your device's operating system to continuously monitor your location in relation to these locally stored geofences. This monitoring is designed to be battery-conscious, using motion detection to optimize location tracking.
-
Event Triggering: When your device crosses the boundary of a geofence, the operating system detects this and triggers an event. The plugin supports three main types of events:
-
Entry: When you move inside a defined geofence.
-
Exit: When you leave a geofence.
-
Dwell: When you stay within a geofence for a specified duration.
-
-
Data Transmission (Event-Based): It's important to understand that the app does not constantly send your location data to our servers. Location data is only transmitted when one of the geofence events (entry, exit, or dwell) is triggered.
-
Limited Data Sharing: When a geofence event occurs, the information transmitted to our API is minimal and includes:
-
Your device's unique identifier.
-
The identifier of the specific site or geofence.
-
The latitude and longitude of your device at the moment the event was triggered.
This information is used to update your attendance records or trigger other location-based functionalities within the app.
-
-
No Continuous Tracking: We want to emphasize that there is no continuous background location tracking performed by the app itself. We rely on the operating system's geofencing capabilities, facilitated by the Transistor Software plugin, to notify us only when a relevant geofence event occurs.
Platform Considerations
-
Android: For the geofencing feature to work reliably in the background, Android requires both precise location permission and background location permission. These permissions are necessary for the operating system to accurately detect geofence transitions even when the app is not actively in use. Android has implemented battery optimization features that can sometimes interfere with background processes, including geofencing. If you experience issues with geofences not triggering as expected, even with the correct location permissions granted, you may need to disable battery optimization for this application as a last resort. This setting can usually be found in your device's Battery or Apps settings. Disabling optimization ensures that the operating system does not restrict the app's background activity, allowing for more consistent geofence monitoring.
-
iOS: On iOS, the "Always" location permission is required for background geofencing to function correctly. This allows the operating system to monitor geofences and trigger events even when the app is closed or in the background.
Battery Efficiency
The Transistor Software background-geolocation plugin is designed with battery efficiency in mind. It uses smart motion detection to minimize the use of GPS when you are not moving, helping to conserve your device's battery.
Your Privacy
We are committed to protecting your privacy. Location data is used solely for the purpose of providing the intended features of this application, such as location-based sign-in, and is handled securely in accordance with our Privacy Policy. We do not use your location data for advertising or any other purposes not directly related to the app's core functionality.
Conclusion
Our geofencing solution, powered by Transistor Software's background-geolocation plugin, provides a seamless and efficient way to deliver location-aware features. By understanding how it works, you can be confident in the app's functionality and our commitment to your privacy and battery efficiency.