Whenever there is no service while using live tracking, all the points in between losing Internet connection and regaining it are gone. It would be great to have an option to send all cached points once a connection is back. As they can be timestamped, it should not be a problem for receiving servers to parse the points. They could be sent in an array, for example.
Local caching for live tracking when out of data signal
Would it be possible to add local caching to the live tracking so locations are sent from when the phone is out of data signal?
For implementation I envisage it working something like:
- In a live tracking profile, users can opt to use caching
- Caching is unavailable for GET requests (as data length is limited and you do not want to poll a url multiple times in a short time)
- For POST requests, Locus sends (if data available) a cache variable which is an array of locations (in the same format as the live beacon).
On the receiving server:
- any local authentication etc.
- process live location
- check for cache variable
- if present and supported, process cached locations
As an extra bonus, Locus could detail how many cached locations are stored in notifications (with where it currently reports successes and failures), and provide a way of manually sending the data to the server (example is when you finish a walk out of signal - you stop the tracking, but want to share the outstanding locations when you are back in signal.)