Run the third-party keyboard restriction by starting the AWController and configuring the data loss prevention setting in the Workspace ONE UEM console. This feature does not require additional code after initializing the AWController.

Request your Workspace ONE UEM admin to configure the data loss prevention (DLP) menu item. Find the console settings in Groups & Settings > All Settings > Apps > Settings and Policies > Security Policies > Data Loss Prevention > Enable Third Party Keyboards.

When this feature is set to No, any third party keyboards used in the application are automatically replaced with the native system keyboard.

SDK Behaves According to the Most Restrictive Implementation

If your application's code overrides the shouldAllowExtensionPointIdentifier delegate method, the Workspace ONE SDK honors the more restrictive implementation.

For example, if the SDK setting allows third party keyboards but your application forcibly returns no to disallow custom keyboards, then custom keyboards are disallowed in the application. If the SDK setting does not allow third party keyboards then the third party keyboard is not allowed regardless of your applications implementation of the method.

Table 1. Third Party Keyboard Restriction Behavior Depends on Console Settings and Code

Data Loss

Prevention

Setting

Enable Third Party

Keyboard Setting

Is shouldAllowExxtensionPointIdentifier

Implemented in the Application

Keyboard

Behavior

Disabled

NA

Implemented

Third party keyboards behave depending on the implementation of the delegate method.

Enabled

Set to No.

Implementation does not matter.

Third party keyboards are not available.

Enabled

Set to Yes.

Implemented

Third party keyboards are available.

Enabled

Set to Yes.

Implemented and returns yes.

Third party keyboards are available.

Enabled

Set to Yes.

Implemented and returns no.

Third party keyboards are not available.

Run the Application to See Expected Behaviors

When the Enable Third Party Keyboard setting is configured in the console, the SDK does not enforce the restriction until the next time the user runs the application after the application retrieves the new SDK profile.