Pendo Mobile SDKs operate 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 SDKs continue collecting analytics regardless of the connectivity status.
- As long as a network connection is available, the SDK sends the usage analytics data in bulks to avoid load on the mobile device's network.
- If the network connection is unavailable, the SDK will keep collecting analytics and save them on the device. To make sure that the app does not consume too much space, there is currently a default limit of 5MB for these saved analytics, where this space will be used as first-in-first-out if the entire space was consumed.
- The 5MB space on the device can be adjusted per app by a support ticket - use this for apps that are supposed to be offline for longer time periods.
- Once the Internet connection is restored, the SDK is be notified and then sends all saved analytics to the Pendo server.
What about guides?
- If the connection was not present at the time of initSDK() call, no guides would be shown to the user.
- If the network connectivity existed during initSDK() call, and all guide images were downloaded before the network connectivity was lost, guides would be presented to the users until the next session starts (after 30 minutes in the background or upon a relaunch of the app the SDK re-initiates against the Pendo backend to re-fetch the guides).