Skip to main content

Permissions

Required permissions

The following permissions are automatically merged into your manifest:

Android

The following permissions are merged into your manifest by Kettle:

PermissionReason
INTERNETRequired to access the internet
BLUETOOTHRequired to access the bluetooth adapter
BLUETOOTH_ADMINRequired to initiate bluetooth discovery
ACCESS_FINE_LOCATIONRequired to access location
ACCESS_BACKGROUND_LOCATIONRequired on Android 10+ to perform scanning in background
ACTIVITY_RECOGNITIONRequired to detect when the user transitions between activities (eg. walking to running)
RECEIVE_BOOT_COMPLETEDRequired to restart the SDK automatically when device is rebooted
FOREGROUND_SERVICERequired for special use cases, where a foreground notification will be used to keep the app alive for a short period

Request required permissions

Although most of the permissions are granted automatically by the system upon installation, a few of them must be explicitly requested from the user on runtime.

Please consult with us to prepare a proper onboarding process to receive as many permission grants as possible.

iOS

The following permissions need to be added to your Info.plist:

PermissionReason
NSLocationWhenInUseUsageDescriptionDescribes how your app will use location services in the foreground. You must include this key if you wish to collect location events
NSLocationAlwaysAndWhenInUseUsageDescriptionDescribes how your app will use location services and explains what extra features you can provide if the always option is selected. The presented alert gives the user the option between "Only when in use", "Always", and "Never". Only used on iOS 11 or later
NSLocationAlwaysUsageDescriptionDescribes how your app will use location services, both in the foreground and background. The presented alert gives the user the option between "Always", and "Never". If your deployment target is at iOS 11 or higher, then you don't need this key even if you wish to collect location events
NSBluetoothAlwaysUsageDescriptionDescribes how your app will use bluetooth, both in the foreground and background.
NSBluetoothPeripheralUsageDescriptionDescribes how your app will use bluetooth, both in the foreground and background for OS versions prior to iOS 13.