Mobile offline support for analytics

Last updated:

The Pendo mobile SDK operates in a dynamic environment. Many times, end-users don't have network connectivity when the app launches or the app might lose the network connection in the middle of a 'session'.

To ensure intact delivery of usage analytics regardless of the network condition, the SDK continues to collect analytics regardless of the connectivity status:

  • If a network connection is available, the SDK sends the usage analytics data in bulk to avoid load issues on the mobile device's network.
  • If the network connection is unavailable, the SDK keeps collecting analytics and saves them on the device. To make sure that the app doesn't consume too much space, there's a default limit of 10MB for these saved analytics. This space is used as first-in-first-out if the entire space is used.
  • The 10MB of space on the device can be adjusted for each app by a support ticket. Use this for apps that are supposed to be offline for longer time periods. If you require a different storage size for a specific app, contact our Pendo Support for help.

After the Internet connection is restored, the SDK is notified and sends all saved analytics to the Pendo server.

Note: Pendo SDK doesn't start collecting analytics or showing guides until a successful call to setup() and startSession(), meaning if the end-user doesn't have a connection when the app is started, the SDK continues to call setup() and startSession() automatically but doesn't capture analytics.

What about guides?

  • If the connection wasn't present at the time of the startSession() call, no guides are shown to the user.
  • If the network connectivity existed during the startSession() call, and all guide images were downloaded before the network connectivity was lost, guides are presented to the users until the next session starts. After 30 minutes in the background or on a relaunch of the app, the SDK re-initiates against the Pendo backend to re-fetch the guides.

 

Was this article helpful?
2 out of 3 found this helpful