Skip to main content
Mobile SDK can keep recording when the network drops. It stores encrypted audio and session data on device, then uploads automatically when connectivity returns. Upload problems show up as offline transitions, failed upload events, or content that is not ready because the offline buffer has not synced yet.

How offline mode works

From Offline and networking FAQs and Offline mode:
  1. 15-second buffer: The SDK waits 15 seconds before entering offline mode, so brief drops can recover.
  2. Local storage: Audio and session data are encrypted and stored on the device.
  3. Automatic sync: When the connection returns, offline data uploads automatically. There is no manual sync API.
  4. Session continuity: Recording continues during network outages.
The SDK notifies your app through session delegate events, including .convertedToOfflineSession and upload-related cases.

What triggers offline mode

  • Poor or lost Wi-Fi or cellular
  • Network switching (Wi-Fi to cellular, or the reverse)
  • Temporary backend unavailability
  • Authentication token expiration
  • Dropped connections during audio streaming
Not every createSession failure creates an offline session. If the backend returns FAILED_PRECONDITION or INVALID_ARGUMENT as a SukiStatus (typically codes 9 and 3), the SDK returns the error and does not fall back to offline. Fix the request, then retry online.

Upload and storage signals

Also check device storage when offline mode misbehaves. The SDK alerts through delegate events if storage is low. Data is removed from the device after a successful upload. Content for offline sessions is available only after upload completes and generation finishes. Watch upload and generation events, then retrieve content the same way as online sessions.

Fix

1

Confirm Offline Transition Events

Listen for .convertedToOfflineSession and related upload events on SukiAmbientSessionDelegate. Show connection status during the 15-second buffer when useful.
2

Check Storage and Network State

Confirm free device storage and that the device detects online/offline correctly. Low storage can block offline recording or sync.
3

Wait for Automatic Upload

When connectivity returns, let the SDK upload queued sessions (oldest first for the same encounter key). Do not expect content APIs to succeed before audioUploaded and generation complete.
4

Handle Upload Failure Events

On audioUploadFailed or audioUploadAllRetryFailed, show the failure in your UI and retry when the network is stable. Manual sync is not available.

Next steps

Offline mode - Buffer, local storage, and auto-upload behavior Offline and networking FAQs - Offline triggers, queueing, and upload status Session events and delegates - Upload and offline event cases NetworkOffline or OfflineSaveFailed on Headless Web SDK - Headless browser offline errors (not Mobile) Content generation is taking too long - Wait for generation after upload
Last modified on September 29, 2026