Custom Container Features

Version compatibility

  • Custom container-level features were introduced in version 22.9.1 of the JourneyApps Container.

  • Custom usage descriptions were introduced in version 22.10.2 of the JourneyApps Container for iOS.

Introduction

It is possible to enable only specific container-level features when creating a custom-branded container. Excluding features from the container if they are not used by the app has the following benefits:

  1. App users will not receive unnecessary permissions requests. Certain container-level features require permission from the user to access their device. For example, when a user wants to take a photo in the app for the first time, they are prompted to allow access to the device's camera. By only including the features that are used in your app, users will only receive relevant permissions requests.

  2. Reduced chance that a container is rejected by the App Store. Containers could get rejected by the App Store if a container-level feature is enabled, but not used in an app.

The table below details all customizable container features per platform.

Custom usage descriptions (iOS only)

Limitations

  • Custom usage descriptions are currently only available in English.

For certain permission prompts it is possible to add customized usage descriptions to more accurately describe how a feature is being used in an app. See the example below of a default usage description that can be customized:

The "Custom usage description" column in the table below shows which container features support custom descriptions, and what the default description is.

Customizable container features

Container featurePlatformsCustom usage description

Audio Recording: Access device microphone for audio recording.

Android, iOS

Supported.

Default: This app needs microphone access

Background Location Tracking: Track device location while app is in the background.

Android, iOS

Supported.

Default: Your location will be used to assist with your current workflow. This includes capturing your location, displaying it on a map or tracking it as part of a route. If you only allow access while you are using the app, some features will not work accurately while this app is in the background.

Barcode Scanning: Scanning of barcodes and QR codes.

Android, iOS

Supported, as part of camera permissions which includes taking photos and scanning barcodes.

Default: This app needs access to the camera to take photos and scan barcodes.

Bluetooth: Bluetooth low energy support. Only available for Enterprise clients.

Android, iOS

Note: Apple AppStore submissions require the feature to be used if included.

Supported.

Default: This app needs bluetooth access

Components: Enables certain native UI components, e.g. date picking.

Android, iOS, Windows

Enrollment: Enables enrolling into a base JourneyApps runtime environment.

Android, iOS, Windows

Note: For iOS, this feature also requires the Push Notifications bundle ID capability.

Supported, as part of camera permissions which includes taking photos and scanning barcodes.

Default: This app needs access to the camera to take photos and scan barcodes.

Inter-App Communication: Communicate with external services and apps, e.g. Android Intents.

Android

Internet Access: Make HTTP network requests.

Android, iOS, Windows

Location Services: Access device physical location.

Android, iOS, Windows

Supported.

Default: Your location will be used to assist with your current workflow. This includes capturing your location, displaying it on a map or tracking it as part of a route.

Media: Open URIs and files

Android, iOS, Windows

NFC: Near Field Communication support

Android, iOS

Note: For iOS, this feature also requires the NFC Tag Reading bundle ID capability.

Supported.

Default: This app needs to read and write NFC Tags

Networking: Communicate via network sockets.

Android, iOS, Windows

Photos: Capture and select photos from device.

Android, iOS, Windows

Supported, as part of camera permissions which includes taking photos and scanning barcodes.

Default: This app needs access to the camera to take photos and scan barcodes.

Printing: Print documents, HTML and text.

Android, iOS, Windows

Push Notifications: Receive push notifications.

Android, iOS, Windows

Note: For iOS, this feature also requires the Push Notifications bundle ID capability.

Sensors: Access to device sensors, e.g. Accelerometer.

Android, iOS, Windows

Serial Communication: Communicate via UART like protocols.

Android, iOS, Windows

Voice Commands: Application control via voice commands.

RealWear only

How to enable/disable container features

See the following section:

Create and Manage App Containers

Review which features are enabled for a container

Enabled container-level features can be reviewed for a particular container in OXIDE as well as on a device.

OXIDE

Navigate to the container build, and click on a build's "Summary" button to view more information, including selected features.

On a device

Enabled features are listed in the Capabilities section on the Diagnostics page.

Last updated