全部產品
Search
文件中心

ID Verification:Android SDK UI自訂配置說明

更新時間:Dec 05, 2025

ID Verification Android SDK提供自訂UI顏色、icon表徵圖的介面,開發人員可以通過編寫自訂UI配置,以檔案或JSON資料格式通過傳入setCustomUIConfig介面實現UI的自訂效果。本文為您介紹UI自訂介面說明以及相關的程式碼範例。

說明

部分自訂配置可能需要依賴SDK升級,建議您在使用之前將SDK升級至最新版本。如使用者介面自訂設定與驗證介面的擴充參數存在衝突,優先使用使用者介面自訂設定。請確保 UI 自訂設定優先於任何驗證介面參數,以提供一致且直觀的使用者體驗。

介面說明

介面定義

Android SDK中提供了自訂UI顏色和icon表徵圖的介面:setCustomUIConfig。您可以通過調用此方法並傳入對應參數來實現自訂UI的效果。

    /**
     * 設定自訂UI顏色和icon表徵圖
     *
     * @return 設定檔檢測出的異常資訊。
     * @description 此介面用於設定自訂UI。
     * @paramType paramType 參數類型{@link IDTFacade} ,可傳範圍
     * {@link IDTFacade.EXT_PARAMS_CONFIG_JSON} | {@link IDTFacade.EXT_PARAMS_CONFIG_ASSETS_NAME})。
     *
     * @params {@link String} params 參數值,與paramType相對應的值。
     */
    public String setCustomUIConfig(@IDTFacade int paramType, String param) {
     // ...
    }

入參說明

名稱

類型

說明

paramType

int

配置自訂入參的類型,可選值:

  • IDTFacade.EXT_PARAMS_CONFIG_ASSETS_NAME:App assets檔案類型,param傳入assets檔案名稱。

  • IDTFacade.EXT_PARAMS_CONFIG_JSON:JSON字串,params傳入JSON格式資料。

param

String

根據paramType取值傳入相應資料。

傳回值

String類型,當SDK對param內容解析遇到錯誤或出現異常資訊時會通過提示資訊的方式返回。當配置參數無效時,請重點關注傳回值資訊。

範例程式碼

//傳入assets檔案名稱
String fileName = "DTFCustomUIConfig.json";
int paramType = IDTFacade.EXT_PARAMS_CONFIG_ASSETS_NAME;
String customUIErrMsg =  IdentityPlatform.getInstance().setCustomUIConfig(paramType, fileName);

//傳入JSON字串
String jsonConfig = "<JSON格式的自訂UI配置>";
int paramType = IDTFacade.EXT_PARAMS_CONFIG_JSON;
String customUIErrMsg =  IdentityPlatform.getInstance().setCustomUIConfig(paramType, jsonConfig);

自訂UI配置

自訂UI目前允許使用者自訂認證頁面的字型顏色和部分Icon。

完整配置樣本

{
  "faceConfig": {
    "faceBGColor": "#A8D8B4",
    "exitIconBase64": "exit_icon_base64",
    "faceTitleColor": "#3E5E7E",
    "faceTipColor": "#F0E68C",
    "interruptedAlertTitleColor": "#FF6347",
    "interruptedAlertMessageColor": "#4682B4",
    "interruptedAlertConfirmColor": "#DDA0DD",
    "permissionFailedAlertTitleColor": "#6A5ACD",
    "permissionFailedAlertMessageColor": "#8A2BE2",
    "permissionFailedAlertConfirmColor": "#5F9EA0",
    "tooManyRetriesAlertTitleColor": "#DC143C",
    "tooManyRetriesAlertMessageColor": "#00FFFF",
    "tooManyRetriesAlertConfirmColor": "#B8860B",
    "faceProgressStartColor": "#006400",
    "faceProgressEndColor": "#BDB76B",
    "exitAlertTitleColor": "#8B008B",
    "exitAlertMessageColor": "#556B2F",
    "exitAlertCancelColor": "#FF8C00",
    "exitAlertConfirmationColor": "#9932CC",
    "timeoutAlertTitleColor": "#E9967A",
    "timeoutAlertMessageColor": "#8FBC8F",
    "timeoutAlertConfirmationColor": "#483D8B",
    "verifyLoadingColor": "#2F4F4F",
    "verifyNetworkErrorAlertTitleColor": "#00CED1",
    "verifyNetworkErrorAlertMessageColor": "#9400D3",
    "verifyNetworkErrorAlertCancelColor": "#FF1493",
    "verifyNetworkErrorAlertConfirmColor": "#00BFFF"
  },
  "ocrConfig": {
    "exitIconBase64": "exit_icon_base64",
    "ocrTitleColor": "#696969",
    "ocrBorderColor": "#1E90FF",
    "albumBase64": "album_base64",
    "takePhotoBase64": "take_photo_base64",
    "submitBase64": "submit_base64",
    "ocrSubmitTitleColor": "#B22222",
    "ocrLoadingColor": "#FFFAF0",
    "failedAlertTitleColor": "#228B22",
    "failedAlertMessageColor": "#FF00FF",
    "failedAlertCancelColor": "#DCDCDC",
    "failedAlertConfirmationColor": "#F8F8FF",
    "ocrNetworkErrorAlertTitleColor": "#FFD700",
    "ocrNetworkErrorAlertMessageColor": "#DAA520",
    "ocrNetworkErrorAlertCancelColor": "#808080",
    "ocrNetworkErrorAlertConfirmColor": "#008000",
    "permissionFailedAlertTitleColor": "#ADFF2F",
    "permissionFailedAlertMessageColor": "#F0FFF0",
    "permissionFailedAlertConfirmColor": "#FF69B4",
    "docErrorAlertTitleColor": "#CD5C5C",
    "docErrorAlertMessageColor": "#4B0082",
    "docErrorAlertCancelColor": "#FFFFF0",
    "docErrorAlertConfirmColor": "#F0E68C",
    "restrictionsAlertTitleColor": "#E6E6FA",
    "restrictionsAlertMessageColor": "#FFF0F5",
    "restrictionsAlertConfirmationColor": "#7CFC00",
    "timeoutAlertTitleColor": "#FFFACD",
    "timeoutAlertMessageColor": "#ADD8E6",
    "timeoutAlertConfirmationColor": "#F08080",
    "exitAlertTitleColor": "#E0FFFF",
    "exitAlertCancelColor": "#FAFAD2",
    "exitAlertConfirmationColor": "#D3D3D3",
    "ocrMessageFailAlertTitleColor": "#90EE90",
    "ocrMessageFailAlertCancelColor": "#FFB6C1",
    "ocrMessageFailAlertConfirmColor": "#FFA07A",
    "ocrResultExitIconBase64": "ocr_result_exit_icon_base64",
    "ocrResultTitleColor": "#20B2AA",
    "ocrResultTipBGColor": "#87CEFA",
    "ocrResultTipColor": "#778899",
    "ocrResultInfoTitleColor": "#B0C4DE",
    "ocrResultInfoContentColor": "#FFFFE0",
    "ocrResultConfirmBtnEnabledBGColor": "#00FF00",
    "ocrResultConfirmBtnEnabledTitleColor": "#32CD32",
    "ocrResultTipTitleColor": "#FAF0E6",
    "ocrResultTipIconBase64": "ocr_result_tip_icon_base64",
    "ocrResultErrorTipBGColor": "#FF00FF",
    "ocrResultInfoBorderColor": "#800000",
    "ocrResultConfirmBtnDisabledBGColor": "#66CDAA",
    "ocrResultConfirmBtnDisabledTitleColor": "#0000CD",
    "ocrResultExitAlertTitleColor": "#BA55D3",
    "ocrResultExitAlertCancelColor": "#9370DB",
    "ocrResultExitAlertConfirmationColor": "#3CB371",
    "ocrResultInfoEmptyAlertTitleColor": "#7B68EE",
    "ocrResultInfoEmptyAlertConfirmColor": "#00FA9A",
    "ocrResultNetworkErrorAlertTitleColor": "#48D1CC",
    "ocrResultNetworkErrorAlertMessageColor": "#C71585",
    "ocrResultNetworkErrorAlertConfirmColor": "#191970",
    "ocrResultNetworkErrorAlertCancelColor": "#F5FFFA",
    "ocrResultInfoErrorAlertMessageColor": "#FFE4E1",
    "ocrResultInfoErrorAlertConfirmColor": "#FFE4B5",
    "unFloodLightBase64": "un_flood_light_base64",
    "floodLightBase64": "flood_light_base64",
    "autoScanBase64": "auto_scan_base64",
    "takeShootBase64": "take_shoot_base64",
    "ocrTakePhotoLabelColor": "#FFDEAD",
    "ocrAlbumLabelColor": "#000080",
    "ocrGuideExitIconBase64": "ocr_guide_exit_icon_base64",
    "ocrGuideTitleColor": "#FDF5E6",
    "ocrGuideContentColor": "#808000",
    "ocrGuideStartBtnBGColor": "#6B8E23",
    "ocrGuideStartBtnTextColor": "#FFA500",
    "ocrGuideIndicatorSelectedColor": "#FF4500",
    "ocrGuideIndicatorUnSelectedColor": "#DA70D6",
    "nfcInputExitIconBase64": "nfc_input_exit_icon_base64",
    "nfcInputTitleColor": "#EEE8AA",
    "nfcInputPassportLabelColor": "#98FB98",
    "nfcInputBirthdayLabelColor": "#AFEEEE",
    "nfcInputValidityLabelColor": "#DB7093",
    "nfcInputPassportEditColor": "#FFEFD5",
    "nfcInputBirthdayEditColor": "#FFDAB9",
    "nfcInputValidityEditColor": "#CD853F",
    "nfcInputPassportEditHintColor": "#FFC0CB",
    "nfcInputBirthdayEditHintColor": "#DDA0DD",
    "nfcInputValidityEditHintColor": "#B0E0E6",
    "nfcInputNextBtnBGSelectColor": "#800080",
    "nfcInputNextBtnTextSelectColor": "#663399",
    "nfcInputNextBtnBGUnSelectColor": "#FF0000",
    "nfcInputNextBtnTextUnSelectColor": "#BC8F8F",
    "nfcInputBackAlertTitleColor": "#4169E1",
    "nfcInputBackAlertCancelColor": "#8B4513",
    "nfcInputBackAlertConfirmColor": "#FA8072",
    "nfcInputCheckAlertTitleColor": "#F4A460",
    "nfcInputCheckAlertMessageColor": "#2E8B57",
    "nfcInputCheckAlertConfirmColor": "#A0522D",
    "nfcExitIconBase64": "nfc_exit_icon_base64",
    "nfcTitleColor": "#C0C0C0",
    "nfcContentColor": "#87CEEB",
    "nfcConfirmBtnBGColor": "#6A5ACD",
    "nfcConfirmBtnTextColor": "#708090",
    "nfcReadBackAlertTitleColor": "#00FF7F",
    "nfcReadBackAlertConfirmColor": "#4682B4",
    "nfcReadBackAlertCancelColor": "#D2B48C",
    "nfcSettingAlertTitleColor": "#D2691E",
    "nfcSettingAlertMessageColor": "#9ACD32",
    "nfcSettingAlertConfirmColor": "#FF7F50",
    "nfcSettingAlertCancelColor": "#6495ED",
    "nfcReadStatusExitBase64": "nfc_read_status_exit_base64",
    "nfcReadStatusTextColor": "#DC143C"
  }
}

欄位配置效果

faceModule

faceBGColor

image.png

exitIconBase64

image.png

faceTitleColor

image.png

faceTipColor

image.png

interruptedAlertTitleColor

image.png

interruptedAlertMessageColor

image.png

interruptedAlertConfirmColor

image.png

permissionFailedAlertTitleColor

image.png

permissionFailedAlertMessageColor

image

permissionFailedAlertConfirmColor

image.png

tooManyRetriesAlertTitleColor

image.png

tooManyRetriesAlertMessageColor

image.png

tooManyRetriesAlertConfirmColor

image.png

faceProgressStartColor

image.png

faceProgressEndColor

image.png

exitAlertTitleColor

image.png

exitAlertMessageColor

image.png

exitAlertCancelColor

image.png

exitAlertConfirmationColor

image.png

timeoutAlertTitleColor

image.png

timeoutAlertMessageColor

image.png

timeoutAlertConfirmationColor

image.png

verifyLoadingColor

image.png

verifyNetworkErrorAlertTitleColor

image.png

verifyNetworkErrorAlertMessageColor

image.png

verifyNetworkErrorAlertCancelColor

image.png

verifyNetworkErrorAlertConfirmColor

image.png

ocrModule

exitIconBase64

image.png

ocrTitleColor

image.png

ocrBorderColor

image.png

albumBase64image.png

takePhotoBase64

image.png

submitBase64

image.png

ocrSubmitTitleColor

image.png

ocrLoadingColor

image.png

failedAlertTitleColor

image.png

failedAlertMessageColor

image.png

failedAlertCancelColor

image.png

failedAlertConfirmationColor

image.png

ocrNetworkErrorAlertTitleColor

image.png

ocrNetworkErrorAlertMessageColor

image.png

ocrNetworkErrorAlertCancelColor

image.png

ocrNetworkErrorAlertConfirmColor

image.png

permissionFailedAlertTitleColor

image.png

permissionFailedAlertMessageColor

image.png

permissionFailedAlertConfirmColor

image.png

docErrorAlertTitleColor

image.png

docErrorAlertMessageColor

image.png

docErrorAlertCancelColor

image.png

docErrorAlertConfirmColor

image.png

restrictionsAlertTitleColor

image.png

restrictionsAlertMessageColor

image.png

restrictionsAlertConfirmationColor

image.png

timeoutAlertTitleColor

image.png

timeoutAlertMessageColor

image.png

timeoutAlertConfirmationColor

image.png

exitAlertTitleColor

image.png

exitAlertCancelColor

image.png

exitAlertConfirmationColor

image.png

ocrMessageFailAlertTitleColor

image.png

ocrMessageFailAlertCancelColor

image.png

ocrMessageFailAlertConfirmColor

image.png

ocrResultExitIconBase64

image.png

ocrResultTitleColor

image.png

ocrResultTipBGColor

image.png

ocrResultTipColor

image.png

ocrResultInfoTitleColor

image.png

ocrResultInfoContentColor

image.png

ocrResultConfirmBtnEnabledBGColor

image.png

ocrResultConfirmBtnEnabledTitleColo

image.png

ocrResultTipTitleColor

image.png

ocrResultTipIconBase64

image

ocrResultErrorTipBGColor

image

ocrResultInfoborderColor

image.png

ocrResultConfirmBtnDisabledBGColor

image.png

ocrResultConfirmBtnDisabledTitleColor

image.png

ocrResultExitAlertTitleColor

image

ocrResultExitAlertCancelColor

image.png

ocrResultExitAlertConfirmationColor

image.png

ocrResultInfoEmptyAlertTitleColor

image.png

ocrResultInfoEmptyAlertConfirmColor

image.png

ocrResultNetworkErrorAlertTitleColor

image.png

ocrResultNetworkErrorAlertMessageColor

image.png

ocrResultNetworkErrorAlertConfirmColor

image.png

ocrResultNetworkErrorAlertCancleColor

image.png

ocrResultInfoErrorAlertMessageColor

image.png

ocrResultInfoErrorAlertConfirmColor

image.png

unFloodLightBase64

image.png

floodLightBase64

image.png

autoScanBase64

image.png

takeShootBase64

image.png

ocrTakePhotoLabelColor

image.png

ocrAlbumLabelColor

image.png

ocrGuideExitIconBase64

image.png

ocrGuideTitleColor

image.png

ocrGuideContentColorimage.png

ocrGuideStartBtnBGColor

image.png

ocrGuideStartBtnTextColor

image.png

ocrGuideIndicatorSelectedColor

image.png

ocrGuideIndicatorUnSelectedColor

image.png

nfcInputExitIconBase64

image.png

nfcInputTitleColor

image.png

nfcInputPassportLabelColor

image.png

nfcInputBirthdayLabelColor

image.png

nfcInputValidityLabelColor

image.png

nfcInputPassportEditColor

image.png

nfcInputBirthdayEditColor

image.png

nfcInputValidityEditColor

image.png

nfcInputPassportEditHintColor

image.png

nfcInputBirthdayEditHintColor

image.png

nfcInputValidityEditHintColor

image.png

nfcInputNextBtnBGSelectColor

image.png

nfcInputNextBtnTextSelectColor

image.png

nfcInputNextBtnBGUnSelectColor

image.png

nfcInputNextBtnTextUnSelectColor

image.png

nfcInputBackAlertTitleColor

image.png

nfcInputBackAlertCancelColor

image.png

nfcInputBackAlertConfirmColor

image.png

nfcInputCheckAlertTitleColor

image.png

nfcInputCheckAlertMessageColor

image.png

nfcInputCheckAlertConfirmColor

image.png

nfcExitIconBase64

image.png

nfcTitleColor

image.png

nfcContentColor

image.png

nfcConfirmBtnBGColor

image.png

nfcConfirmBtnTextColor

image.png

nfcReadBackAlertTitleColor

image.png

nfcReadBackAlertConfirmColor

image.png

nfcReadBackAlertCancelColor

image.png

nfcSettingAlertTitleColor

image.png

nfcSettingAlertMessageColor

image.png

nfcSettingAlertConfirmColor

image.png

nfcSettingAlertCancelColor

image.png

nfcReadStatusExitBase64

image.png

nfcReadStatusTextColor

image.png