That article was written based on my testing and confirmation with Resco.
Location Tracking
Since the version 11.1, Mobile CRM app can track user’s real-time GPS position and send location records to the CRM server.
1. Key features
- It’s implemented as a background service activated via Woodford
- It runs even when the app is killed or running on background
- It caches data locally until user achieves Internet connection
- Users can disable it in the app setup or by disabling the access to the location services
- By default, it uses Resco’s web-service for flushing data (“real-time flushing” option)
- Alternatively, it can send the location tracking records directly to the CRM server
- Location tracking data is stored in the CRM as “Mobile Auditing” entity records. The “Owner” field is set to user which initiated the tracking event
- External user mode currently isn’t supported
- It supports Resco CRM and Dynamics 365 backend. Salesforce support is coming soon.
2. Location data storage & flushing
By default, Location Tracking uses Resco’s web-service for flushing data, which is the so called “real-time flushing” option. Flushing means that the location data is sent to Resco’s service if there is connectivity.
If there is no connectivity or Resco’s service is not accessible, the location data are stored locally, on the device. If during the next attempt the connectivity is restored, all cached data are sent to the service. This approach was chosen because the app can have no access to user’s password when running on background and therefore might not be able to access the CRM server.
It requires activation through Woodford by providing valid CRM user and password which is then stored on Resco’s server (see section 3.1). This login is used for sending all collected organization data from Resco’s server to your CRM server. All data is forgotten (deleted) from Resco’s server immediately after being saved to your CRM server.
Alternatively, the location tracking records can be send directly to the CRM server via an online web request. Again, if the password is not available, the records are cached locally on the device until the background service gets the password. This can happen after restarting phone/tablet or if OS decides to kill the service due to the lack of resources. When the user provides the password after starting the app, the cached location data are sent to the CRM server.
3. Configuring real-time position flushing
3.1 Registering organization
The “real-time flushing” mode requires registering the organization for Resco Location Tracking web-service before configuring the Location Tracking in specific Woodford mobile project. If the “real-time flushing” mode is turned off, records are sent directly to CRM and no registration is needed (see checkbox in section 3.2).
Web service registration is located in the main section of Woodford (it is an organization wide setting, therefore not part of a Mobile Project):
It requires a valid CRM user with password that will be stored on Resco’s server which hosts the web-service. The password isn’t stored in Woodford. This user will be used for sending all collected location tracking data for whole organization from Resco’s server to your CRM server.
3.2 Mobile Project Configuration
Location Tracking can be enabled for particular Mobile Projects:
If enabled, admin can limit the tracking to certain business hours or business days and specify the minimum time interval for requesting the location. The service won’t create records when user doesn’t move, so this interval limits the tracking just in case of movement.
Moreover, there’s an option determining if it’s desired to achieve the best (more accurate) results or rather save the battery. It configures the platform-specific location service to reduce the device wake-ups on background and to use less power-consuming sources of the GPS location.
The last option determines whether the changes in the position are sent real-time through the Resco webservice or directly to the CRM (as mentioned above).