ENGAGE SDK Permissions
ENGAGE® SDK Permissions
Android Permissions
The ENGAGE SDK requires certain Android app permissions to be managed and coordinated by the host app. Without prompting users to enable these permissions, the SDK will not perform as expected. Some services provided by the SDK will not work properly without them. The main permission set supported:
- Contact
ENGAGE functionality is driven by the permissions a host app is comfortable asking the consumers. The set of ENGAGE components included in the host app’s build.gradle
file also relates to the functionality and permissions required.
Permission Set | Functionality | ENGAGE Components |
---|---|---|
READ_CONTACTS and WRITE_CONTACTS |
|
|
- Contact - the system dialer shows a contact that has been previously created by the SDK on an incoming call
- READ_CONTACTS and WRITE_CONTACTS
- The Contacts group is categorized as a dangerous permission
- READ_CONTACTS is required to prevent the SDK from overwriting an existing contact
- WRITE_CONTACTS is required to create and remove the contact
- READ_CONTACTS and WRITE_CONTACTS
iOS Permissions
The ENGAGE SDK requires certain iOS app permissions to be managed and coordinated by the host app. The SDK will not perform as expected if these permissions are not granted.
The following permissions are required to be set in the host app info.plist:
- Contacts
- Notifications
ENGAGE functionality is driven by the permissions a host app is comfortable asking the consumers. The set of ENGAGE components included in the host app’s build file also relates to the functionality and permissions required.
Add this block of code into your podfile for permissions. This code sets up build configurations in the Podfile to define preprocessor macros for handling permissions related to contacts and notifications.
# Start of the permission_handler configuration
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
'PERMISSION_CONTACTS=1',
'PERMISSION_NOTIFICATIONS=1',
]
end
NOTE
The host app has the option of alerting ENGAGE to permission changes manually.
Engage.instance.contactPermissionsUpdated();
This step is optional as ENGAGE will check the permission state on its own.
Updated 6 months ago