Android SDK Permissions

ENGAGE® Android SDK 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 SetFunctionalityENGAGE Components
READ_CONTACTS and WRITE_CONTACTS
  • Displays content
  • Content is not cleaned up immediately after call
  • Call telemetry and answer rates are not captured
  • 'com.firstorion:engage-core:3.1.X'
  • 'com.firstorion:engage-contacts:3.1.X'
  • 'com.firstorion:engage-firebase:3.1.X'

  • 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

📘

NOTE

The host app has the option of alerting ENGAGE to permission changes manually.

EngageApp.onPremissionChanged()

This step is optional as ENGAGE will check the permission state on its own.