Offline Download Manager

Download document and media files to the user's device for online or offline access. Files are viewable through a built-in file manager UI as well as programatically.

Once the premium module has been added to your app, you may use the following GoNative JavaScript Bridge commands to access its functionality.

Initialization

Create a javascript function to receive status events, e.g.

function downloadCallback(data) {
  console.log(data);
}

Before starting any downloads, you will need to register your callback by running the following command using the GoNative JavaScript Bridge:

️GoNative JavaScript Bridge

<a href="gonative://downloads/init?callback=downloadCallback">Register Download Callback</a>
window.location.href = 'gonative://downloads/init?callback=downloadCallback';

Starting Downloads

To start a download, run the following command using the GoNative JavaScript Bridge:

️GoNative JavaScript Bridge

<a href="gonative://downloads/downloadFile?url=URL&title=Title">Start Download</a>
window.location.href = 'gonative://downloads/downloadFile?url=URL&title=Title';

All query params should be url encoded. "url" and "title" are required, all others are optional.
Supported query parameters are:

  • url: The url of the file to download. Should start with http or https.
  • title: The name to show in the UI
  • identifier (optional): a string used to identify the download in the downloadCallback function, so that multiple simultaneous downloads can be differentiated
  • details (optional): additional information to show below the title. A description of the download.
  • date (optional): a date in yyyy-mm-dd format to show below the details. Can be used to show a publish date for a podcast, for example.

After a download is started, the callback function will be called with a data object with the following fields:

  • identifier: the identifier passed to the downloadFile command
  • event: "progress", "done", or "error"

If event is "progress":

  • bytesWritten: the number of bytes that have been downloaded
  • expectedBytes: the file sized indicated by the server

If event is "error":

  • errorMessage: A string indicating the reason for the error

Showing UI

To show the download manager user interface, run the following command using the GoNative JavaScript Bridge:

️GoNative JavaScript Bridge

<a href="gonative://downloads/showUI">Show Download Manager UI</a>
window.location.href = 'gonative://downloads/showUI';