Our Android, iOS, React Native and Flutter SDKs support full offline reporting. What does that mean?
When your user submits a report, that report first gets safely stored into the background of their mobile device.
As far as your user is concerned, they have successfully submitted a report and they are happy. From this moment on, Shake won't interrupt or notify them about anything that follows afterwards.
Silent retries until success
If the user is online at that moment, said report is sent to Shake's servers instantaneously, just as you'd expect. However if
- the user is offline, or
- Shake's servers are unavailable, or
- any other imaginable exception occurs,
the report will patiently try to upload itself again in a few seconds, from the background. If unsuccessful, then again in a few minutes. And then again, and again from time to time.
Never affected, no matter what
Shake SDK will never interrupt your user. Our fail-proof mechanism works automatically and silently in the background. In other words, your user's report is never lost and will try to re-upload itself until it eventually succeeds. As a result, your users aren't affected a single bit even in the worst case scenario of Shake servers' potential unavailability.
That being said, we can now mention that our servers have an admirable 99.9% uptime since launch.