If you have any questions, all answers are in our documentation.
View DocumentationAdd the Background Upload SDK to your React Native app via npm or yarn.
Installation Guide →Initialize the singleton uploader in your root component and configure permissions.
Integration Docs →Add a file to the upload queue, track progress, and watch it complete reliably — even offline.
The SDK automatically detects unstable connections, aborts failing requests, and retries them with exponential backoff. Once the network stabilizes, the uploader resumes the transfer from the point of failure.
Yes. The uploader stores progress for each chunk of a multipart upload, so if the app is restarted or the network is lost, it only retries the missing chunks instead of starting the entire upload again.
Yes, the multipart threshold is fully configurable. By default it is set to around 10 MB, but you can change it to suit your application’s needs, for example lowering it to 5 MB or raising it to 20 MB.
Yes, uploads can continue beyond the 5-minute Android system limit if the proper configuration is applied. This usually involves enabling a foreground service or using WorkManager with the correct permissions in the manifest.
Yes, failed parts are retried automatically. The number of retries is configurable, and by default the SDK uses safe retry limits with exponential backoff to balance reliability and performance.
Yes, the SDK provides real-time progress and status updates through its global queue, which is implemented with Zustand. Your app can subscribe to these updates and display indicators such as percentage completion, errors, or “paused” status.
Yes, AWS S3 multipart uploads and Cloudflare R2 presigned arrays are supported out of the box. The uploader is provider-agnostic, which means any service that issues presigned URLs can be integrated.
TUS is not yet supported in the current release. However, support is planned and will include a native TUS client wrapper designed to handle extremely large uploads (over 200 MB) with robust resume and cancel capabilities.
Uploads continue as long as presigned URLs have already been generated. Since these URLs are pre-authorized, the uploads finish successfully even if the user logs out or the session token expires.
Yes, concurrency is fully configurable. Developers can set how many files are uploaded at the same time, which makes it easy to balance speed, bandwidth usage, and device performance.Offline Video SDK is the best choice when you need to download videos. You don’t need to rely on expensive commercial players - instead, you can use our SDK, which offers flexible pricing tailored to your company or app. Additionally, you can continue using open-source solutions, contributing to and benefiting from the developer community.
Yes, once an upload is confirmed as complete, the SDK removes the local file or temporary data to free up device storage.
If the app crashes, the SDK restores the queue and resumes incomplete uploads when the app restarts. Completed parts are not uploaded again.
When the device is restarted, uploads are paused until the app is opened again. The SDK then restores the queue from the persisted state and resumes uploads from the last saved progress.
Yes, the uploader manages a queue of multiple files and can upload them sequentially or in parallel, depending on the concurrency settings you choose.
Yes, the recommended approach is to obtain presigned URLs from your backend after authentication. The uploader then uses these URLs directly, which keeps your upload flow secure and independent of session state.
Book a free demo call, and let’s tackle your questions, and see how we can help with your product.
Book a free demo