Sending UEM Attributes To Intelligence SDK
A new Public API has been added to provide UEM attributes to the IntelligenceSDK’s DEX feature:
- This API takes an information provider interface which allows users to create getter methods for each available data attribute: UEM Device UDID, UEM Serial Number, UEM Username.
Android UEMInfo Interface
/**
* Interface for providing UEM Information to our DEX
*/
interface UemInfo {
/**
* Returns the UEM Device UDID as a String
*/
fun getUemDeviceUDID(): String?
/**
* Returns the UEM Serial Number as a String
*/
fun getUemSerialNumber(): String?
/**
* Returns the UEM Username as a String
*/
fun getUemUsername(): String?
}
IntelligenceSDK UEMInfo Sample Implementation
import android.content.Context
import android.content.RestrictionsManager
import com.crittercism.uemprovider.UemInfo
import com.crittercism.uemprovider.UemInfoKeys
internal class IntelSDKUemInfo(context: Context): UemInfo {
private val restrictionsMgr = context.getSystemService(Context.RESTRICTIONS_SERVICE) as RestrictionsManager
override fun getUemDeviceUDID(): String = restrictionsMgr.applicationRestrictions.getString(UemInfoKeys.UEM_KEY_DEVICE_UDID,
UemInfoKeys.UEM_KEY_UNAVAILABLE)
override fun getUemSerialNumber(): String = restrictionsMgr.applicationRestrictions.getString(UemInfoKeys.UEM_KEY_SERIAL_NUMBER,
UemInfoKeys.UEM_KEY_UNAVAILABLE)
override fun getUemUsername(): String = restrictionsMgr.applicationRestrictions.getString(UemInfoKeys.UEM_KEY_USERNAME,
UemInfoKeys.UEM_KEY_UNAVAILABLE)
}
Registering IntelligenceSDK UEM Info
// Create instance of UemInfo
uemInfo = IntelSDKUemInfo(context)
Crittercism.setUemInfo(uemInfo)
Crittercism.initialize(context, APTELIGENT_APP_ID, config)
Note
To get UEM Information to DEX Feature, set UemInfo before enabling DEX through the Crittercism singleton. API to set UemInfo is Crittercism.setUemInfo(UemInfo info).
-
If the app does not already have access to device-udid, serial-number, username and if it is managed, then it can be fetched from UEM to be injected into IntelligenceSDK.
-
Within UEM, the required attributes can be set during app assignment within the ‘Application Configuration’ section as shown in the screenshot.
- When an app is pushed with the required attributes, the attributes can be queried and injected into IntelligenceSDK as shown in the code.