Skip to content

mDL Processing Customization

On this page, explore the customization capabilities available for the Mobile Driver's License (mDL) processing.

There are two data retrieval methods available:

  • Bluetooth Data Retrieval

When the device engagement method is set to QR code, the Camera Frame is launched to scan it. After the session is initiated, the corresponding processing screen is displayed:

Customizable elements of the Bluetooth Data Retrieval screens for mDL

  • NFC Data Retrieval

When the NFC is selected for both device engagement and data processing, the corresponding processing screen is displayed:

Customizable elements of the NFC Data Retrieval screens for mDL

The following elements are customizable:

Background

The processing screen background color can be adjusted in the following way.

Mobile screens, demonstrating different background colors for BLE data retreival

Mobile screens, demonstrating different background colors for NFC data retreival

For example:

DocumentReader.Instance().customization().edit()
    .setColor(CustomizationColor.MDL_PROCESSING_SCREEN_BACKGROUND, R.color.colorPrimary)
    .apply()
DocumentReader.Instance().customization().edit()
        .setColor(CustomizationColor.MDL_PROCESSING_SCREEN_BACKGROUND, R.color.colorPrimary)
        .apply();
// TODO
// TODO
// TODO
// TODO
// TODO
// TODO

Hint Messages

Messages displayed during the processing are customizable. You can adjust:

  • Text color
  • Text font
  • Background color

Hint messages customization for mDL processing via Bluetooth

Hint messages customization for mDL processing via NFC

For example:

val typeface = Typeface.SERIF
DocumentReader.Instance().customization().edit()
    .setColor(CustomizationColor.MDL_PROCESSING_SCREEN_HINT_LABEL_TEXT, R.color.colorPrimary)
    .setColor(CustomizationColor.MDL_PROCESSING_SCREEN_HINT_LABEL_BACKGROUND, R.color.colorAccent)
    .setFont(CustomizationFont.MDL_PROCESSING_SCREEN_HINT_LABEL, typeface)
    .apply()
Typeface typeface = Typeface.SERIF;
DocumentReader.Instance().customization().edit()
        .setColor(CustomizationColor.MDL_PROCESSING_SCREEN_HINT_LABEL_TEXT, R.color.colorPrimary)
        .setColor(CustomizationColor.MDL_PROCESSING_SCREEN_HINT_LABEL_BACKGROUND, R.color.colorAccent)
        .setFont(CustomizationFont.MDL_PROCESSING_SCREEN_HINT_LABEL, typeface)
        .apply();
// TODO
// TODO
// TODO
// TODO
// TODO
// Android
// TODO

Loading Spinner

When the processing begins, the loading spinner and a message below it appear. You can customize the following elements:

  • Text color
  • Text font
  • Progress color

Loading spinner customization for mDL processing via Bluetooth

Loading spinner customization for mDL processing via NFC

For example:

val typeface = Typeface.SERIF
DocumentReader.Instance().customization().edit()
    .setColor(CustomizationColor.MDL_PROCESSING_SCREEN_PROGRESS_LABEL_TEXT, R.color.colorPrimary)
    .setColor(CustomizationColor.MDL_PROCESSING_SCREEN_LOADING_BAR, R.color.colorAccent
    .setFont(CustomizationFont.MDL_PROCESSING_SCREEN_PROGRESS_LABEL, typeface)
    .apply()
Typeface typeface = Typeface.SERIF;
DocumentReader.Instance().customization().edit()
        .setColor(CustomizationColor.MDL_PROCESSING_SCREEN_PROGRESS_LABEL_TEXT, R.color.colorPrimary)
        .setColor(CustomizationColor.MDL_PROCESSING_SCREEN_LOADING_BAR, R.color.colorAccent)
        .setFont(CustomizationFont.MDL_PROCESSING_SCREEN_PROGRESS_LABEL, typeface)
        .apply();
// TODO
// TODO
// TODO
// TDOO
// TODO
// Android
// TODO

Enable NFC Screen

To retrieve the mDL data from a mobile device via NFC, the corresponding module needs to be enabled. On iOS this step is performed automatically, while on Android the manual user action may be required. In this case, the corresponding screen is displayed. You can adjust:

  • Text color
  • Text font
  • Button (color, text color, text font)

Enable NFC Screen customization for mDL processing

For example:

DocumentReader.Instance().customization().edit()
    .setColor(CustomizationColor.MDL_ENABLE_NFC_TITLE_TEXT, Color.RED)
    .setColor(CustomizationColor.MDL_ENABLE_NFC_DESCRIPTION_TEXT, Color.BLUE)
    .setColor(CustomizationColor.MDL_ENABLE_NFC_BUTTON_TEXT, Color.YELLOW)
    .setColor(CustomizationColor.MDL_ENABLE_NFC_BUTTON_BACKGROUND, Color.BLACK)
    .setFont(CustomizationFont.MDL_ENABLE_NFC_TITLE_TEXT, Typeface.MONOSPACE)
    .setFont(CustomizationFont.MDL_ENABLE_NFC_DESCRIPTION_TEXT, Typeface.SERIF)
    .setFont(CustomizationFont.MDL_ENABLE_NFC_BUTTON_TEXT, Typeface.ITALIC)
    .apply()
DocumentReader.Instance().customization().edit()
    .setColor(CustomizationColor.MDL_ENABLE_NFC_TITLE_TEXT, Color.RED)
    .setColor(CustomizationColor.MDL_ENABLE_NFC_DESCRIPTION_TEXT, Color.BLUE)
    .setColor(CustomizationColor.MDL_ENABLE_NFC_BUTTON_TEXT, Color.YELLOW)
    .setColor(CustomizationColor.MDL_ENABLE_NFC_BUTTON_BACKGROUND, Color.BLACK)
    .setFont(CustomizationFont.MDL_ENABLE_NFC_TITLE_TEXT, Typeface.MONOSPACE)
    .setFont(CustomizationFont.MDL_ENABLE_NFC_DESCRIPTION_TEXT, Typeface.SERIF)
    .setFont(CustomizationFont.MDL_ENABLE_NFC_BUTTON_TEXT, Typeface.ITALIC)
    .apply(); 
// TODO
// TODO
// TODO
// TODO
// TODO
// Android
// TODO

Next Steps