The guides below are provided to ease the transition of existing applications using the Onfido SDK from one version to another that introduces breaking API changes.
If your migration involves upgrading across multiple SDK versions, be sure to read each individual guide in order to account for all relevant breaking changes.
- Updated the captures object in the userCompleted(captures) callback to support two-sided Proof of address documents.
The object went from:
ProofOfAddress(id=poa_id, type=UTILITY_BILL, issuing_country=UK)
to ProofOfAddress(type=UTILITY_BILL, front = (id = front_side_id, type = (optional)), back = (id = back_side_id, type = (optional))) - Removed
EnterpriseFeatures
's deprecated constructor. Use the builder instead - Removed the deprecated
CAMERA_PERMISSION_DENIED
SDK exit code. This case is now handled by the SDK - Removed
OnfidoConfig.Builder
's deprecated methods:withNFCReadFeature()
anddisableNFC()
. UsewithNFC(option: NFCOptions)
instead OnfidoActivityTheme
has been renamed toOnfidoLightTheme
for consistency withOnfidoDarkTheme
- The
attr
suffix has been removed from all font family theme attributes for consistency with other attribute names
The following string keys have been removed:
onfido_avc_confirmation_title
()onfido_avc_confirmation_subtitle
()onfido_avc_confirmation_button_primary_upload
()
The following string keys have been added:
-
onfido_retry_feedback_id_expired_title
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_retry_feedback_id_unaccepted_title
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_retry_feedback_id_generic_title
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_retry_feedback_selfie_generic_title
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_retry_feedback_id_expired_subtitle
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_retry_feedback_id_unaccepted_subtitle
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_retry_feedback_id_generic_subtitle
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_retry_feedback_selfie_generic_subtitle
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_retry_feedback_custom_title
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_retry_feedback_custom_subtitle
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_retry_feedback_button_primary
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW)##20.5.0
->21.0.0
- There might be a chance of getting "2 files found with path 'META-INF/versions/9/OSGI-INF/MANIFEST.MF'." during build or run tasks. If so, please add the following to your packagingOptions of the
app/build.gradle
file:packagingOptions.resources.excludes += "META-INF/versions/9/OSGI-INF/MANIFEST.MF"
- Please update your JDK version to version 17. Details: https://developer.android.com/build/jdks
- Motion functionality has been enhanced to work seamlessly on all devices. You can safely remove any existing
withCaptureFallback()
implementations from your code - Deprecated APIs are removed and need to be replaced with current ones
- Removed the deprecated
withNFCReadFeature
anddisableNFC
configuration options forOnfidoConfig
in non-Studio usage scenarios. Please usewithNFC(NFCOptions.Disabled)
instead.
- Deprecated
disableNFC()
usewithNFC(NFCOptions.Disabled)
instead
The following string keys have been added:
-
onfido_nfc_capture_scan_intro_passport_scan_guide_1
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_nfc_scan_doc_realign_title
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_nfc_capture_scan_doc_realign_body
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_nfc_capture_scan_intro_passport_scan_guide_android_2
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_nfc_capture_scan_intro_passport_scan_guide_android_3
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW) -
onfido_nfc_capture_scan_intro_passport_scan_guide_android_4
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW)##19.6.0
->20.0.0
- If you have imported the onfido-dfm-base module please remove the import and use onfido-public-api instead
- Added new ExitCode -
REQUIRED_NFC_FLOW_NOT_COMPLETED
- Removed
NFCOptions.Preferred
. Consider usingNFCOptions.Optional
instead.
The following string keys have been removed:
onfido_app_title_doc_select
(en, ar, bg, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, fr-rCA, hi, hr, hu, hy, in, it, iw, ja, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt-rBR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-rCN, zh-rTW)##19.2.2
->19.3.0
- Motion capture fallbacks configuration is no longer supported from version 19.3.0 onwards as the SDK has been improved to mitigate device coverage issues.
withCaptureFallback
configuration has been marked as Deprecated and will be removed in an upcoming version.
The following string keys have been added:
onfido_country_select_search_results_none_accessibility
onfido_country_select_search_results_one_accessibility
onfido_country_select_search_results_multiple_accessibility
onfido_doc_confirmation_alert_odp_photo_of_screen_title
onfido_doc_confirmation_alert_odp_screenshot_title
onfido_doc_confirmation_alert_odp_photocopy_title
onfido_doc_confirmation_alert_odp_scan_title
onfido_doc_confirmation_alert_odp_detail
onfido_doc_confirmation_button_secondary_change_document
onfido_doc_confirmation_button_secondary_submit_anyway
onfido_doc_capture_alert_manual_capture_video_title
- Onfido SDK now supports the dark theme. By default, the user's active device theme will be
automatically applied to the Onfido SDK. However, you can opt out from dynamic theme switching at run time
and instead set a theme statically at the build time. In this case, the flow will always be in displayed
in the selected theme regardless of the user's device theme. Please refer to the dark theme section in
README.md
for further details on how to configure the SDK with a static UI theme. - Onfido's public colors defined in your
colors.xml
are now deprecated. Please refer to the "appearance and colors" section inREADME.md
for our new theme-based UI customization approach and the list of available attributes and UI customization options.
- Removed
Parcelable
implementation fromMediaCallback
and run it in the same process with the application. - Removed
Parcelable
implementation fromOnfidoAnalyticsEventListener
and run it in the same process with the application. - Removed
Parcelable
implementation fromTokenExpirationHandler
and run it in the same process with the application.
- Deprecated
withNFCReadFeature()
inOnfidoConfig
, as NFC is now enabled by default. UsedisableNFC()
if you want to disable NFC.
- Updated the properties of
MediaFile
(used for custom media callbacks) - it now contains 3 attributes: the file data, file type and file name - Dropped
Attr
suffix from font attribute names inOnfidoBaseActivityTheme
. - Removed the internal
onfidoFontFamily
attribute inOnfidoBaseActivityTheme
.
- The
isOnfidoProcess
extension function has been integrated into the Application class. If you have implemented a custom Application class and are also using Firebase, please ensure to follow the instructions provided in this documentation for correct setup and integration.
- After the release of version 17.0.0, Onfido Android SDK runs in a separate process. This means that when the callback is triggered, the body of that callback will run in Onfido SDK process rather than the main application process. Therefore, any actions performed in the callback, such as accessing memory or modifying UI, will be executed within the SDK process. It is important to keep this in mind when designing and implementing callbacks in order to ensure the proper functioning and performance of the SDK.
- Added default value to
DocumentSide#nfcSupported
to support backward compatibility.
- Removed
setUserEventHandler
andgetUserEventHandler
for theUserEventHandler
since it is deprecated. Please useOnfidoConfig.builder(context).withAnalyticsEventListener()
.
The following string keys have been added:
onfido_avc_intro_disclaimer_camera_and_audio_on
The following string keys have been changed:
onfido_avc_intro_button_primary_ready
onfido_avc_intro_disclaimer
The following string keys have been added:
onfido_enter_can_title
onfido_enter_can_subtitle
onfido_enter_can_button_primary
onfido_enter_can_disclaimer
onfido_enter_can_error_label
onfido_enter_can_substring_attempt_singular
onfido_enter_can_substring_attempt_plural
onfido_nfc_scan_error_title
onfido_nfc_scan_error_button_primary
onfido_nfc_scan_error_button_secondary
onfido_nfc_scan_error_list_item
onfido_nfc_scan_error_list_item_2
The following string keys have been removed:
onfido_nfc_fail_title
onfido_nfc_fail_button_primary
onfido_nfc_fail_button_secondary
onfido_nfc_fail_list_item_remove_cover
onfido_nfc_fail_list_item_keep_contact
onfido_nfc_intro_subtitle_card
onfido_nfc_intro_subtitle_passport
onfido_nfc_intro_button_primary_card
onfido_nfc_intro_button_primary_passport
The following string keys have been changed:
onfido_nfc_intro_passport_scan_guide_1
onfido_nfc_intro_passport_scan_guide_2
onfido_nfc_intro_passport_scan_guide_3
onfido_nfc_intro_passport_scan_guide_4
The following string keys have been changed:
onfido_country_select_error_no_country_body_poa
->onfido_country_select_error_no_country_body
onfido_nfc_sheet_scanning_button_secondary
->onfido_nfc_sheet_button_secondary
onfido_nfc_intro_sheet_header_scanning
->onfido_nfc_intro_sheet_scanning_subtitle
onfido_nfc_sheet_success_instruction
->onfido_nfc_sheet_success_instruction_passport
onfido_doc_select_button_work_permit
->onfido_doc_select_button_permit_work
onfido_doc_select_section_input_placeholder_country_copy
->onfido_doc_select_section_input_placeholder_country
onfido_liveness_intro_loading_video
->onfido_video_intro_loader
onfido_doc_select_section_input_placeholder_country
->onfido_doc_select_section_input_country_not_found
onfido_doc_select_button_bill_detail_all
->onfido_doc_select_button_bill_detail
onfido_liveness_fetch_challenge_error_description
->onfido_video_capture_prompt_network_timeout_detail
onfido_liveness_intro_loading_video
->onfido_video_intro_loader
- In order to use Studio/Workflow, now it is required to include it as a separate dependency as below:
implementation "com.onfido.sdk:onfido-workflow:$onfidoSdkVersion"
- Removed all references to wording around beta for the NFC feature. NFC is no longer beta and generally available.
The following string keys have been added:
onfido_avc_face_alignment_feedback_move_left_accessibility
onfido_avc_face_alignment_feedback_move_right_accessibility
onfido_avc_face_alignment_feedback_move_up_accessibility
onfido_avc_face_alignment_feedback_move_down_accessibility
The following string keys have been removed:
onfido_permission_recovery_button_secondary_cam
onfido_permission_recovery_button_secondary_mic
onfido_permission_recovery_button_secondary_both
onfido_welcome_list_item_doc
onfido_permission_recovery_subtitle_video
onfido_permission_recovery_extra_instructions_cam
onfido_permission_recovery_extra_instructions_mic
onfido_permission_recovery_extra_instructions_both
onfido_permission_recovery_body_mic
onfido_permission_recovery_body_cam
onfido_permission_recovery_body_both
onfido_app_title_user_consent
onfido_country_select_error_no_country_body
onfido_welcome_list_item_video
onfido_doc_confirmation_body_visa
onfido_welcome_list_item_selfie
onfido_welcome_list_header_photo
onfido_welcome_list_header_record
onfido_welcome_list_header_doc_video
onfido_app_title_doc_video_confirmation
onfido_doc_capture_header_license_front_auto
onfido_doc_capture_header_visa_back
onfido_doc_capture_header_passport_auto
onfido_doc_capture_header_license_back_auto
onfido_doc_capture_frame_accessibility_pp_cover_manual
onfido_doc_capture_frame_accessibility_pp_manual
onfido_welcome_list_item_face_generic
onfido_doc_capture_alert_no_face_title
onfido_doc_capture_alert_no_face_detail
onfido_doc_capture_header_live_guidance_distance_ok
onfido_doc_capture_header_live_guidance_distance_ok_accessibility
onfido_nfc_intro_sheet_scanning_subtitle
onfido_avc_connection_error_button_primary_reload
onfido_doc_select_button_bill_detail
onfido_poa_country_not_found
onfido_doc_select_extra_no_mobile
onfido_label_doc_type_driving_license_short
onfido_label_doc_type_residence_permit_short
onfido_face_tracking_timeout_button_retry
onfido_allow
onfido_permission_subtitle_video
onfido_permission_body_video
onfido_accessibility_liveness_confirmation_view
onfido_nfc_sheet_ready_button_secondary
onfido_nfc_intro_sheet_header_scan_retry
onfido_nfc_sheet_scanning_instruction_retry
onfido_nfc_intro_sheet_header_fail_passport
onfido_nfc_intro_sheet_header_fail_card
onfido_nfc_intro_sheet_header_ready_card
onfido_nfc_intro_sheet_header_ready_passport
onfido_poa_document_submission_empty
onfido_flow_user_exit_message_user_cancelled
The following string keys have been added:
onfido_avc_intro_title_accessibility
onfido_avc_intro_video_accessibility
onfido_avc_face_capture_frame_accessibility
onfido_avc_confirmation_left_side_complete_accessibility
onfido_avc_confirmation_right_side_complete_accessibility
onfido_avc_face_capture_title_accessibility
onfido_avc_face_capture_recording_started_accessibility
onfido_avc_face_alignment_feedback_face_aligned_accessibility
onfido_avc_face_alignment_feedback_move_closer_accessibility
onfido_avc_face_alignment_feedback_move_back_accessibility
onfido_avc_face_alignment_title_accessibility
onfido_avc_face_alignment_feedback_no_face_detected_accessibility
- Removed the option to implement the user consent screen directly in your configuration during SDK initialization. It is now controlled by the Onfido backend. Please see our Onfido privacy notices and consent migration guide for further information.
The following string keys have been changed:
onfido_doc_capture_header_live_guidance_doc_position_ok_accessibility
The following string keys have been added:
onfido_nfc_intro_sheet_ready_subtitle_passport
onfido_nfc_intro_sheet_scanning_subtitle
onfido_nfc_intro_sheet_ready_subtitle_card
onfido_nfc_intro_sheet_fail_instructions_card
onfido_nfc_intro_sheet_fail_subtitle_card
onfido_nfc_intro_sheet_fail_subtitle_passport
onfido_nfc_intro_sheet_fail_instructions_passport
- Removed deprecated
withToken(token)
andwithApplicant(ID)
fromOnfidoConfig.Builder
class. Mobile tokens are not supported anymore, please use SDK tokens withwithSDKToken(token)
, otherwise you will get an authorization exception when creating an applicant.
The following string keys have been added:
onfido_doc_capture_header_capturing
onfido_nfc_intro_carousel_body_dont_move
onfido_nfc_intro_carousel_body_last_page
onfido_nfc_intro_carousel_body_lay_flat
onfido_nfc_intro_carousel_body_phone_top
onfido_nfc_intro_carousel_body_remove_cover
The following string keys have been changed:
onfido_nfc_intro_subtitle_passport
The following string keys have been removed:
onfido_doc_capture_header_scanning
The following string keys have been added:
onfido_nfc_select_title_passport
onfido_nfc_select_subtitle_passport
onfido_nfc_select_body_passport
onfido_nfc_select_button_primary_passport
onfido_nfc_select_button_secondary_passport
onfido_nfc_intro_title_passport
onfido_nfc_intro_subtitle_passport
onfido_nfc_intro_button_primary_passport
onfido_nfc_intro_sheet_header_ready_passport
onfido_nfc_fail_title_passport
onfido_nfc_fail_list_item_remove_cover_passport
onfido_nfc_fail_list_item_keep_contact_passport
onfido_nfc_fail_button_primary_passport
onfido_nfc_fail_button_secondary_passport
onfido_nfc_select_title_card
onfido_nfc_select_subtitle_card
onfido_nfc_select_body_card
onfido_nfc_select_button_primary_card
onfido_nfc_select_button_secondary_card
onfido_nfc_intro_title_card
onfido_nfc_intro_subtitle_card
onfido_nfc_intro_sheet_header_ready_card
onfido_nfc_fail_title_card
onfido_nfc_fail_list_item_remove_cover_card
onfido_nfc_fail_list_item_keep_contact_card
onfido_nfc_sheet_success_instruction_card
onfido_nfc_intro_sheet_header_fail_passport
onfido_nfc_intro_button_primary_card
onfido_nfc_intro_sheet_header_fail_card
onfido_nfc_fail_button_primary_card
onfido_nfc_fail_button_secondary_card
The following string keys have been changed:
onfido_doc_capture_header_live_guidance_no_doc
onfido_nfc_sheet_success_instruction
The following string keys have been removed:
onfido_nfc_select_title
onfido_nfc_select_subtitle
onfido_nfc_select_button_primary
onfido_nfc_select_button_secondary
onfido_nfc_select_body
onfido_nfc_intro_title
onfido_nfc_intro_sheet_header_ready
onfido_nfc_sheet_ready_subtitle
onfido_nfc_intro_subtitle
onfido_nfc_sheet_success_intruction
onfido_nfc_intro_button_primary
onfido_nfc_fail_title
onfido_nfc_fail_list_item_remove_covers
onfido_nfc_fail_list_item_keep_contact
onfido_nfc_fail_button_primary
onfido_nfc_fail_button_secondary
The following string keys have been added:
onfido_doc_capture_header_live_guidance_intro_doc_front_accessibility
onfido_doc_capture_header_live_guidance_no_doc
onfido_doc_capture_header_live_guidance_no_doc_accessibility
onfido_doc_capture_header_live_guidance_distance_close
onfido_doc_capture_header_live_guidance_distance_close_accessibility
onfido_doc_capture_header_live_guidance_distance_far
onfido_doc_capture_header_live_guidance_distance_far_accessibility
onfido_doc_capture_header_live_guidance_distance_ok
onfido_doc_capture_header_live_guidance_distance_ok_accessibility
onfido_doc_capture_header_live_guidance_doc_too_left
onfido_doc_capture_header_live_guidance_doc_too_left_accessibility
onfido_doc_capture_header_live_guidance_doc_too_right
onfido_doc_capture_header_live_guidance_doc_too_right_accessibility
onfido_doc_capture_header_live_guidance_doc_too_high
onfido_doc_capture_header_live_guidance_doc_too_high_accessibility
onfido_doc_capture_header_live_guidance_doc_slightly_high
onfido_doc_capture_header_live_guidance_doc_slightly_high_accessibility
onfido_doc_capture_header_live_guidance_doc_too_low
onfido_doc_capture_header_live_guidance_doc_too_low_accessibility
onfido_doc_capture_header_live_guidance_doc_slightly_low
onfido_doc_capture_header_live_guidance_doc_slightly_low_accessibility
onfido_doc_capture_header_live_guidance_doc_position_ok
onfido_doc_capture_header_live_guidance_doc_position_ok_accessibility
onfido_doc_capture_header_live_guidance_intro_doc_front
onfido_doc_capture_header_live_guidance_intro_doc_back
onfido_doc_capture_header_live_guidance_intro_doc_back_accessibility
onfido_doc_capture_header_live_guidance_intro_pp_photo
onfido_doc_capture_header_live_guidance_intro_pp_photo_accessibility
The following string keys have been added:
onfido_welcome_list_header
onfido_welcome_list_item_doc_photo
onfido_welcome_list_item_doc_video
onfido_welcome_list_item_doc_generic
onfido_welcome_list_item_face_photo
onfido_welcome_list_item_face_video
onfido_welcome_list_item_face_generic
onfido_nfc_select_title_passport
onfido_nfc_select_subtitle_passport
onfido_nfc_select_body_passport
onfido_nfc_select_button_primary_passport
onfido_nfc_select_button_secondary_passport
onfido_nfc_intro_title_passport
onfido_nfc_intro_subtitle_passport
onfido_nfc_intro_button_primary_passport
onfido_nfc_intro_sheet_header_ready_passport
onfido_nfc_sheet_success_instruction
onfido_nfc_fail_title_passport
onfido_nfc_fail_list_item_remove_cover_passport
onfido_nfc_fail_list_item_keep_contact_passport
onfido_nfc_fail_button_primary_passport
onfido_nfc_fail_button_secondary_passport
onfido_nfc_select_title_card
onfido_nfc_select_subtitle_card
onfido_nfc_select_body_card
onfido_nfc_select_button_primary_card
onfido_nfc_select_button_secondary_card
onfido_nfc_intro_title_card
onfido_nfc_intro_subtitle_card
onfido_nfc_intro_sheet_header_ready_card
onfido_nfc_fail_title_card
onfido_nfc_fail_list_item_remove_cover_card
onfido_nfc_fail_list_item_keep_contact_card
onfido_nfc_sheet_success_instruction_card
onfido_nfc_intro_sheet_header_fail_passport
onfido_nfc_intro_button_primary_card
onfido_nfc_intro_sheet_header_fail_card
onfido_nfc_fail_button_primary_card
onfido_nfc_fail_button_secondary_card
The following string keys have been changed:
onfido_doc_capture_header_folded_doc_front
onfido_doc_capture_header_folded_doc_back
onfido_doc_capture_header_license_front
onfido_doc_capture_header_license_back
onfido_doc_capture_header_permit_front
onfido_doc_capture_header_permit_back
onfido_doc_capture_header_id_front
onfido_doc_capture_header_id_back
onfido_doc_capture_header_permit_work_front
onfido_doc_capture_header_generic_front
onfido_doc_capture_header_permit_work_back
onfido_doc_capture_header_generic_back
onfido_doc_capture_header_visa_front
onfido_doc_capture_header_visa_back
onfido_doc_capture_header_passport
onfido_doc_capture_header_license_front_auto
onfido_doc_capture_header_license_back_auto
onfido_doc_capture_header_passport_auto
onfido_doc_capture_frame_accessibility_pp_auto
onfido_doc_capture_frame_accessibility_dl_front_auto
onfido_doc_capture_frame_accessibility_dl_back_auto
onfido_doc_capture_frame_accessibility_pp_manual
onfido_doc_capture_frame_accessibility_dl_front_manual
onfido_doc_capture_frame_accessibility_dl_back_manual
onfido_doc_capture_frame_accessibility_ic_front_manual
onfido_doc_capture_frame_accessibility_ic_back_manual
onfido_doc_capture_frame_accessibility_rp_front_manual
onfido_doc_capture_frame_accessibility_rp_back_manual
onfido_doc_capture_frame_accessibility_dl_fr_front_manual
onfido_doc_capture_frame_accessibility_dl_fr_back_manual
onfido_doc_capture_frame_accessibility_ic_it_front_manual
onfido_doc_capture_frame_accessibility_ic_it_back_manual
onfido_doc_capture_frame_accessibility_ic_za_front_manual
onfido_doc_capture_frame_accessibility_ic_za_back_manual
onfido_doc_capture_frame_accessibility_pp_cover_manual
The following string keys have been removed:
onfido_nfc_select_title
onfido_nfc_select_subtitle
onfido_nfc_select_button_primary
onfido_nfc_select_button_secondary
onfido_nfc_select_body
onfido_nfc_intro_title
onfido_nfc_intro_sheet_header_ready
onfido_nfc_intro_subtitle
onfido_nfc_sheet_success_intruction
onfido_nfc_intro_button_primary
onfido_nfc_fail_title
onfido_nfc_fail_list_item_remove_covers
onfido_nfc_fail_list_item_keep_contact
onfido_nfc_fail_button_primary
onfido_nfc_fail_button_secondary
The following string keys have been added:
onfido_doc_capture_frame_accessibility_pp_auto
onfido_doc_capture_frame_accessibility_dl_front_auto
onfido_doc_capture_frame_accessibility_dl_back_auto
onfido_doc_capture_frame_success_accessibility
onfido_doc_capture_frame_accessibility_rp_front_manual
onfido_doc_capture_frame_accessibility_rp_back_manual
onfido_doc_capture_frame_accessibility_ic_front_manual
onfido_doc_capture_frame_accessibility_ic_back_manual
onfido_doc_capture_frame_accessibility_dl_fr_front_manual
onfido_doc_capture_frame_accessibility_dl_fr_back_manual
onfido_doc_capture_frame_accessibility_ic_it_front_manual
onfido_doc_capture_frame_accessibility_ic_it_back_manual
onfido_doc_capture_frame_accessibility_ic_za_front_manual
onfido_doc_capture_frame_accessibility_ic_za_back_manual
onfido_video_capture_frame_accessibility
The following string keys have been changed:
onfido_selfie_capture_frame_accessibility
- Removed deprecated methods and constructors of
DocumentType
class
The following string keys have been added:
onfido_permission_recovery_button_primary
onfido_permission_recovery_list_item_how_to_cam
onfido_permission_recovery_list_item_action_cam
onfido_permission_recovery_list_item_how_to_mic
onfido_permission_recovery_list_item_action_mic
onfido_permission_recovery_list_item_how_to_both
onfido_permission_recovery_list_item_action_both
onfido_video_capture_header_challenge_turn_forward
onfido_generic_uploading
onfido_doc_confirmation_alert_crop_detail
onfido_doc_confirmation_alert_crop_title
onfido_doc_upload_progress_label
onfido_video_intro_list_item_time_limit_copy
onfido_app_title_selfie_confirmation
onfido_app_title_video_confirmation
onfido_doc_capture_header_passport_auto
onfido_doc_capture_detail_passport
onfido_doc_capture_header_license_front_auto
onfido_video_capture_body
onfido_doc_capture_header_license_back_auto
onfido_welcome_list_header_photo
onfido_welcome_list_header_record
onfido_app_title_doc_confirmation
onfido_app_title_permission
onfido_app_title_selfie_intro
onfido_app_title_video_intro
onfido_welcome_list_header_doc_video
onfido_app_title_doc_video_confirmation
onfido_video_capture_turn_success_accessibility
The following string keys have been removed:
onfido_permission_extra_instructions_cam
onfido_permission_extra_instructions_mic
onfido_permission_extra_instructions_both
onfido_permission_recovery_button_primary_cam
onfido_permission_recovery_button_primary_mic
onfido_permission_recovery_button_primary_both
onfido_app_title_doc_capture_visa
onfido_app_title_doc_capture_permit_work
onfido_app_title_doc_capture_generic
onfido_app_title_doc_capture_passport
onfido_app_title_doc_capture_permit
onfido_app_title_doc_capture_id
onfido_app_title_doc_capture_license
onfido_doc_capture_detail_passport_auto
onfido_doc_confirmation_body_passport
onfido_doc_confirmation_body_permit
onfido_doc_confirmation_body_license
onfido_doc_confirmation_body_id
onfido_doc_confirmation_body_permit_work
onfido_selfie_confirmation_button_primary_long
onfido_selfie_confirmation_button_primary_short
onfido_selfie_confirmation_button_secondary_long
onfido_selfie_confirmation_button_secondary_short
onfido_video_confirmation_title
onfido_welcome_list_item_doc_video
onfido_doc_confirmation_alert_no_barcode_title
onfido_welcome_button_primary_selfie
onfido_welcome_button_primary_video
onfido_doc_capture_detail_license_front_auto
The following string keys have been changed:
onfido_app_title_welcome
onfido_permission_subtitle_cam
onfido_permission_body_cam
onfido_permission_recovery_title_cam
onfido_permission_recovery_subtitle_cam
onfido_permission_subtitle_mic
onfido_permission_body_mic
onfido_permission_recovery_title_mic
onfido_permission_recovery_subtitle_mic
onfido_permission_subtitle_both
onfido_permission_body_both
onfido_permission_button_primary_both
onfido_permission_recovery_title_both
onfido_permission_recovery_subtitle_both
onfido_doc_confirmation_button_primary_passport
onfido_doc_confirmation_button_primary_permit
onfido_doc_confirmation_button_primary_license
onfido_doc_confirmation_button_primary_id
onfido_doc_confirmation_button_primary_visa
onfido_doc_confirmation_button_primary_generic
onfido_doc_confirmation_button_primary_barcode
onfido_doc_confirmation_button_primary_permit_work
onfido_doc_confirmation_button_secondary_passport
onfido_doc_confirmation_button_secondary_id
onfido_doc_confirmation_button_secondary_license
onfido_doc_confirmation_button_secondary_permit
onfido_doc_confirmation_button_secondary_permit_work
onfido_doc_confirmation_button_secondary_visa
onfido_doc_confirmation_button_secondary_generic
onfido_video_capture_header_challenge_turn_left
onfido_video_capture_header_challenge_turn_right
onfido_video_intro_button_primary
onfido_selfie_intro_button_primary
onfido_doc_select_button_license
onfido_doc_select_button_permit
onfido_welcome_subtitle
onfido_welcome_list_item_doc
onfido_welcome_list_item_selfie
onfido_welcome_list_item_video
onfido_video_intro_title
onfido_doc_select_title
onfido_doc_select_subtitle
onfido_country_select_bottom_sheet_details
onfido_country_select_bottom_sheet_link_doc_select
onfido_selfie_intro_subtitle
onfido_selfie_intro_list_item_face_forward
onfido_selfie_intro_list_item_no_glasses
onfido_selfie_capture_body
onfido_selfie_confirmation_body
onfido_doc_capture_detail_visa_front
onfido_doc_capture_detail_visa_back
onfido_selfie_confirmation_alert_no_face_title
onfido_selfie_confirmation_alert_no_face_detail
onfido_doc_confirmation_alert_no_doc_detail
onfido_doc_confirmation_body_visa
onfido_doc_confirmation_body_generic
onfido_doc_capture_detail_permit_front
onfido_doc_capture_detail_permit_back
onfido_doc_capture_detail_license_front
onfido_doc_capture_detail_license_back
onfido_doc_capture_detail_id_front
onfido_doc_capture_detail_id_back
onfido_doc_capture_detail_permit_work_front
onfido_doc_capture_detail_generic_front
onfido_doc_capture_detail_permit_work_back
onfido_doc_capture_detail_generic_back
onfido_doc_capture_alert_glare_title
onfido_video_intro_subtitle
onfido_video_intro_list_item_move_speak
onfido_video_intro_list_item_time_limit
onfido_video_capture_prompt_detail_timeout
onfido_video_confirmation_button_audio_unmute
onfido_country_select_error_no_country_title
onfido_country_select_error_no_country_body
onfido_doc_capture_alert_manual_capture_detail
onfido_doc_confirmation_alert_blur_title
onfido_doc_confirmation_alert_blur_detail
onfido_doc_capture_alert_no_barcode_title
onfido_doc_capture_header_passport
onfido_permission_body_mic
onfido_permission_body_both
onfido_doc_confirmation_button_primary_passport
onfido_doc_confirmation_button_primary_id
onfido_doc_confirmation_button_primary_visa
onfido_doc_confirmation_button_primary_generic
onfido_doc_confirmation_button_primary_barcode
onfido_doc_confirmation_button_primary_folded_doc
onfido_selfie_confirmation_button_secondary
onfido_selfie_confirmation_button_primary
onfido_app_title_doc_select
onfido_welcome_button_primary_doc
onfido_video_intro_video_accessibility
onfido_video_capture_frame_success_accessibility
onfido_video_confirmation_video_accessibility
onfido_video_capture_header_challenge_digit_instructions_accessibility
onfido_video_capture_header_challenge_turn_instructions_accessibility
onfido_video_capture_header_extra_instructions_accessibility
onfido_video_capture_header_challenge_turn_left_accessibility
onfido_video_capture_header_challenge_turn_right_accessibility
onfido_video_confirmation_button_play_and_pause_accessibility
onfido_doc_capture_button_accessibility
- Migrated from JCenter to Maven Central. You will need to add
mavenCentral()
into therepositories
block, if it is not already added.
The following string keys have been added:
onfido_user_consent_button_primary
onfido_user_consent_button_secondary
onfido_user_consent_prompt_no_consent_title
onfido_user_consent_prompt_no_consent_detail
onfido_user_consent_prompt_button_primary
onfido_user_consent_prompt_button_secondary
onfido_app_title_user_consent
CAMERA_PERMISSION_DENIED
inExitCode
enum is deprecated as permissions are being handled inside the SDK.
- Updated to OkHttp4. In order to prevent runtime issues due to library conflicts, the host app must match the major version of the OkHttp.
- Minimum Android API level (minSdkVersion) support has been updated from 16 to 21. Onfido SDK will stop supporting Android 4.x starting with this version.
The following string keys have been added:
onfido_outro_body
The following string keys have been changed:
onfido_video_confirmation_button_primary
The following string keys have been added:
onfido_app_title_doc_capture_id_za
⚠️ Most of the localisation keys have been renamed. If you have customised any of the Onfido SDK's strings in your project, you may use migrate-keys.rb script and key mapping file key_migration_7_3_0_mapping.json to migrate from 7.3.0 to 7.4.0
migrate-keys.rb --files-path <app/src/main/res/> --platform android --key-mapping-file key_migration_7_3_0_mapping.json
- EnterpriseFeatures class' constructor is deprecated. Please use
EnterpriseFeatures.Builder
instead.
Before:
EnterpriseFeatures(true)
new EnterpriseFeatures(true);
After:
val enterpriseFeatures: EnterpriseFeatures = EnterpriseFeatures.Builder().withHideOnfidoLogo(true).build()
EnterpriseFeatures enterpriseFeatures = EnterpriseFeatures.builder().withHideOnfidoLogo(true).build();
- Migrated to AndroidX. If your app hasn't completed AndroidX migration yet, please see AndroidX Migration.
The following string keys have been changed:
onfido_autocapture_manual_fallback_title
onfido_autocapture_manual_fallback_description
- Removed out-of-the-box Portuguese (
pt
) translation. If you would like to keep supporting Portuguese by providing your own XML files, please see README - SDK will return
DocumentType.UNKNOWN
to mirror the Onfido API response as part of theCaptures
object which is provided byhandleActivityResult
ifresidence permit
orgeneric
is selected
The following string keys have been added:
onfido_accessibility_video_pause
onfido_accessibility_video_play
- The
CaptureScreenStep
class is deprecated. We now recommendDocumentCaptureStepBuilder
to customise document capture steps
Before:
new CaptureScreenStep(DocumentType.NATIONAL_IDENTITY_CARD, CountryCode.GB);
CaptureScreenStep(DocumentType.NATIONAL_IDENTITY_CARD, CountryCode.GB)
After:
DocumentCaptureStepBuilder.forNationalIdentity()
.withCountry(CountryCode.GB)
.build();
DocumentCaptureStepBuilder.forNationalIdentity()
.withCountry(CountryCode.GB)
.build()
- The
FaceCaptureStep
class is deprecated. We now recommendFaceCaptureStepBuilder
to customise face capture steps
Before:
FlowStep selfieCaptureStep = new FaceCaptureStep(new FaceCaptureVariantPhoto(false));
FlowStep videoCaptureStep = new FaceCaptureStep(new FaceCaptureVariantVideo(false));
val selfieCaptureStep = FaceCaptureStep(FaceCaptureVariantPhoto(false))
val videoCaptureStep = FaceCaptureStep(FaceCaptureVariantVideo(false))
After:
FlowStep selfieCaptureStep = FaceCaptureStepBuilder.forPhoto()
.withIntro(false)
.build();
FlowStep videoCaptureStep = FaceCaptureStepBuilder.forVideo()
.withIntro(false)
.build();
val selfieCaptureStep = FaceCaptureStepBuilder.forPhoto()
.withIntro(false)
.build()
val videoCaptureStep = FaceCaptureStepBuilder.forVideo()
.withIntro(false)
.build()
The following string keys have been added:
onfido_mrz_not_detected_title
onfido_mrz_not_detected_subtitle
The following string keys have been added:
onfido_italian_id_capture_title
onfido_french_driving_license_capture_title
onfido_folded_paper_option
onfido_plastic_card_option
onfido_driving_license_type_selection_title
onfido_national_identity_type_selection_title
onfido_folded_paper_front_capture_title
onfido_folded_paper_front_capture_subtitle
onfido_folded_paper_back_capture_title
onfido_folded_paper_back_capture_subtitle
onfido_folded_paper_confirmation_title
onfido_upload_photo
onfido_retake_photo
- Deprecated properties of
DocumentType
class
- Removed
OnfidoCertificatePinningSettings
class which hasONFIDO_API
parameter to provide root certificate's hash value. For more information, please visit our README.md
The following string keys have been added:
onfido_label_doc_type_generic_up
The following string keys have been changed:
onfido_accessibility_liveness_video_example
The following string keys have been added:
onfido_accessibility_liveness_face_detected
The following string keys have been added:
onfido_accessibility_camera_document_capture_view
onfido_accessibility_face_confirmation_view
onfido_accessibility_document_confirmation_view
onfido_accessibility_liveness_confirmation_view
onfido_accessibility_video_preview_recorded
onfido_accessibility_liveness_digits
onfido_accessibility_liveness_move
onfido_accessibility_then
onfido_accessibility_liveness_left
onfido_accessibility_liveness_right
onfido_accessibility_liveness_play_pause
onfido_accessibility_take_picture
- No longer obfuscating
com.monadtek.mvp
package
- Applicant class removed from the SDK
- Applicant parameter removed from the
OnfidoResultListener
callback methods - Removed deprecated
withApplicant(Applicant)
method on theOnfidoConfig.Builder
class as SDK no longer creates applicants
- The
withApplicant(String)
and thewithToken(String)
methods are deprecated from theOnfidoConfig.Builder
, we now recommend that create a SDK Token on your backend which containsapplicantId
and usewithSDKToken(String)
method to initialise the OnfidoConfig
The initialisation of the SDK by passing the applicant ID and the (static) mobile token:
val OnfidoConfig config = OnfidoConfig.builder()
.withToken("YOUR_MOBILE_TOKEN")
.withApplicant("YOUR_APPLICANT_ID")
.build();
or if you were using the deprecated withApplicant(Applicant)
method:
val applicant = Applicant.builder()
.withFirstName("Your first name")
.withLastName("Your first name")
.build()
val onfidoConfig = OnfidoConfig.builder()
.withApplicant(applicant)
.withToken("YOUR_MOBILE_TOKEN")
.build();
The SDK callback where the Applicant
type object was passed:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
...
onfido.handleActivityResult(resultCode, data, new Onfido.OnfidoResultListener() {
@Override
public void userCompleted(Applicant applicant, Captures captures) {
//communicate with your backend and initiate the check
}
@Override
public void userExited(ExitCode exitCode, Applicant applicant) {
//User left the sdk flow without completing it
}
@Override
public void onError(OnfidoException exception, @Nullable Applicant applicant) {
// An exception occurred during the flow
}
});
}
Neither the (static) mobile token nor the Applicant ID are expected anymore, you are now expected to pass the SDK token which is generated by calling the Onfido API:
val sdkToken: String = createSdkToken() // https://github.com/onfido/onfido-android-sdk/blob/master/README.md#41-sdk-token
val onfidoConfig = OnfidoConfig.builder(context)
.withSDKToken(sdkToken)
.build()
The SDK callback no longer passes an Applicant
object:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
...
onfido.handleActivityResult(resultCode, data, new Onfido.OnfidoResultListener() {
@Override
public void userCompleted(Captures captures) {
//communicate with your backend and initiate the check
}
@Override
public void userExited(ExitCode exitCode) {
//User left the sdk flow without completing it
}
@Override
public void onError(OnfidoException exception) {
// An exception occurred during the flow
}
});
}
- Removed
withUSDLAutocapture()
method from theOnfidoConfig.Builder
. Autocapture enabled by default for the US driving licences.
onfido_autocapture_manual_fallback_title
onfido_autocapture_manual_fallback_description
onfido_autocapture_info
onfido_press_button_capture
onfido_barcode_error_subtitle
onfido_barcode_error_third_title
onfido_barcode_error_title
onfido_accessibility_liveness_video_example
onfido_accessibility_camera_face_capture_view
onfido_label_doc_type_work_permit_up
onfido_message_side_document_front_generic
onfido_message_side_document_back_generic
onfido_message_check_readability_subtitle_generic
onfido_message_document_capture_info_front_generic
onfido_message_document_capture_info_back_generic
onfido_confirm_generic_document
onfido_label_doc_type_passport
onfido_label_doc_type_driving_license
onfido_label_doc_type_id_card
onfido_label_doc_type_visa
onfido_country_selection_toolbar_title
onfido_unsupported_document_description
onfido_label_doc_type_visa
onfido_label_doc_type_visa_up
onfido_message_document_visa
onfido_message_check_readability_subtitle_visa
onfido_confirm_visa
onfido_liveness_intro_subtitle
onfido_liveness_intro_step_1_title
onfido_liveness_intro_step_2_title
onfido_liveness_intro_loading_video
onfido_reload
onfido_unable_load_unstable_network
onfido_unable_load_offline
onfido_next
onfido_liveness_intro_title
onfido_liveness_intro_subtitle_1_action
onfido_liveness_intro_subtitle_2_actions
onfido_liveness_intro_subtitle_some_actions
onfido_liveness_intro_third_subtitle_1_action
onfido_liveness_intro_third_subtitle_2_actions
onfido_liveness_intro_third_subtitle_some_actions
onfido_liveness_challenge_open_mouth_title
onfido_liveness_challenge_next
onfido_liveness_challenge_stop
onfido_stop
onfido_liveness_challenge_recording
onfido_video_recorded
onfido_camera_access_recover_instructions_subtitle
- Changed the
Applicant
parameter on theuserCompleted(Applicant applicant, Captures captures)
callback to be a non-nullable field, meaning that we guarantee this field will always contain information about the applicant whenever this callback is called. Any null check being applied may now be deleted. - Changed the
Applicant
parameter on theonError(OnfidoException exception, @Nullable Applicant applicant)
callback to be a nullable value, meaning that depending on the error originating the callback, the applicant details might benull
. Therefore, developers should add the correspondent null check before accessing its information.
-
Added
onError(OnfidoException exception, Applicant applicant)
method on theOnfido
object, used to get the result of the identity verification flow. This callback will be called whenever an exception that the end-user should not be able to overcome by itself occurs during the flow. The new method should be implemented and the exception handled accordingly. -
Upgraded our infrastructure and SDK client SSL configurations to support TLSv1.2 only. According to the relevant Google documentation, this support comes enabled by default on every device running Android API 20+. In case you need to support devices older than that in your integration with the Onfido Android SDK, we need to access Google Play Services to install the latest security updates, which enable this support. As such, if you don't use Google Play Services on your integration yet, we require you to add the following dependency:
compile ('com.google.android.gms:play-services-base:x.y.z') { exclude group: 'com.android.support' // to avoid conflicts with your current support library }
- Deprecated
withApplicant(Applicant applicant)
method. We now recommend that you create an Onfido applicant yourself on your backend and thewithApplicant(String id)
method should be called with the id of the created applicant.
- Removed
FlowStep.MESSAGE_FACE_VERIFICATION
, which is now automatically added before any face capture with the variantFaceCaptureVariant.PHOTO
. This way, any inclusion of this step in a custom flow should be removed
- Removed the
allowMetrics(boolean)
method from theOnfidoConfig.Builder
object. Every call to this method should be deleted - Removed the previously deprecated
FlowStep.MESSAGE_IDENTIFY_VERIFICATION
enum instance, as it was too specific for our generic flow intentions. Every previous inclusion of this object on a flow should be replaced by a customMessageScreenStep