The exposed APIs are implemented as separate product modules. Each module is a combination of native code, JavaScript code and other assets that provide a distinct functionality. Individual product modules can be included or excluded from the application. Certain modules may require other modules to function. Dependencies between product modules are listed in the table below.
Due to reasons related to device memory conservation, resulting app size and app initiation time, you must include modules in the project only if necessary.
Module name | Required modules | Required Android permissions |
---|---|---|
Base (includes the Account Manager API, Container API, Logger API, Native Application Switcher API, and Network Status API) | None | ACCESS_NETWORK_STATE, INTERNET, ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION, READ_PHONE_STATE |
Authentication | Base | |
BackAction1 | Base | |
BarcodeScanner | Base | CAMERA, FLASHLIGHT |
DocumentPicker | Base, Filesystem | CAMERA, FLASHLIGHT, RECORD_AUDIO, MODIFY_AUDIO_SETTINGS |
DocumentViewer | Base, Filesystem2 | READ_EXTERNAL_STORAGE |
Filesystem | Base | READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE |
FileTransfer | Base, Filesystem | |
Geolocation | Base | ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION |