- 24 Oct 2024
- 3 Minutes to read
- DarkLight
Integration of the Common ASM
- Updated on 24 Oct 2024
- 3 Minutes to read
- DarkLight
Integration of the Common ASM—Customization of the Transaction ScreenAndroidiOS
Integration of the Common ASM—Customization of the Transaction Screen
The Common ASM is not an independent ASM but part of the following ASMs:
Presence ASM
User Input ASM
Native Biometric Authentication ASM
One of the crucial features of the Common ASM is to provide a transaction screen to the authenticator. This transaction screen displays the transaction text at the top of the screen, with a font adapted to the screen resolution. The text is centered horizontally, and it is possible to scroll the text if required.
Two buttons are displayed: the approval button on the right and the cancellation button on the left. These buttons are displayed at the bottom of the screen and are always visible.
Android
Dependencies
To be able to use the Common ASM, you have to link it and its dependencies to a project. Use the following code to configure these dependencies in your application’s module build.gradle file:
repositories {
google()
maven({ url '<path to your repository>' })
}
dependencies {
api files ('<path to library>/FIDOUAFCommonASM.aar')
api "com.noknok:ak_uaf:<current NokNok Android version>"
api "com.noknok:asmsdk_uaf:<current NokNok Android version>"
api files ('<path to library>/DeviceBindingSDK.aar')
api files ('<path to library>/SecureStorageSDK.aar')
api files ('<path to library>/UtilitiesSDK.aar')
api "com.google.android.material:material:1.4.0"
api "androidx.annotation:annotation:1.2.0"
}
The local maven repository is included in the FIDO UAF SDK package and located at
NokNok/App SDKs/Android/Version current Android version/app_dev_and_eval_current Android version/AppSDK/android-studio/m2repository.
The Device Binding SDK, Secure Storage SDK, and Utilities SDK are included in the OneSpan Mobile Security Suite product package.
For more details how to integrate Secure Storage SDK, refer to the Secure Storage SDK Integration Guide.
Customization
To facilitate the customization, you can use the default resources from the package (FIDO UAF SDK /Android/ Common ASM/Values).
Tutorial App—Transaction Screen on an Android Device
Strings
The following raw string values can be customized via the strings.xml file:
Tutorial App Transaction Screen—Customization Strings | ||
Key | Default text | Description |
---|---|---|
vds_asm_common_transaction_button_approve_text | Approve | Text for approval button |
vds_asm_common_transaction_button_cancel_text | Cancel | Text for cancel button |
Colors
The following colors in #argb and #rgb hex format can be customized via the colors.xml file.
Key | Default text | Description |
---|---|---|
vds_asm_common_transaction_text_color | #ff000000 | Text color for transaction |
vds_asm_common_transaction_background_color | #ffffffff | Background color for transaction screen |
vds_asm_common_transaction_button_approve_text_color | #ff000000 | Text color for approval button |
vds_asm_common_transaction_button_approve_background_color | #ffd3d3d3 | Background color for approval button |
vds_asm_common_transaction_button_cancel_text_color | #ff000000 | Text color for cancel button |
vds_asm_common_transaction_button_cancel_background_color | #ffd3d3d3 | Background color for cancel button |
Dimensions
The following dimen-type dimensions with values like dp, px, or sp can be customized via the dimens.xml file.
Tutorial App Transaction Screen Customization—Dimensions | ||
Key | Default text | Description |
---|---|---|
vds_asm_common_transaction_text_min_size | 18sp | Text minimum size |
vds_asm_common_transaction_text_max_size | 30sp | Text maximum size |
vds_asm_common_transaction_button_spacing_horizontal | 16dp | Horizontal spacing between buttons |
vds_asm_common_transaction_button_spacing_vertical | 16dp | Vertical spacing above button section |
vds_asm_common_transaction_screen_padding | 16dp | Padding |
vds_asm_common_transaction_buttons_horizontal_margin | 0dp | Left and right margins for the button section |
vds_asm_common_transaction_buttons_vertical_margin | 0dp | Bottom margin for the content layout |
vds_asm_common_transaction_text_text_size_granularity | 2sp | Text size granularity for the text message |
iOS
Dependencies
To integrate the Common ASM, add the following dependencies to your app:
FIDOUAFCommonASM.xcframework (linked framework and libraries)
FIDOUAFCommonASMResources.bundle (linked framework and libraries)
MSSDeviceBinding.xcframework (embedded framework)
MSSSecureStorage.xcframework (linked framework and libraries)
UtilitiesSDK.xcframework (linked framework and libraries)
The MSSDeviceBinding, MSSSecureStorage and UtilitiesSDK frameworks are included in the OneSpan Mobile Security Suite product package.
MSSDeviceBinding and MSSSecureStorage frameworks must be set to Embed & Sign in your Xcode project or there is a risk of your application terminating unexpectedly.
Customization
Tutorial App—Transaction Screen on an iOS device
Customization keys
The following keys are available for the customization of this authenticator:
Tutorial App Transaction Screen—Customization Keys | ||
Key | Default text | Description |
---|---|---|
vds_asm_common_transaction_button_approve_text | Approve | Text for approval button |
vds_asm_common_transaction_button_cancel_text | Cancel | Text for cancel button |
vds_asm_common_transaction_text_color | #ff000000 | Text color for transaction |
vds_asm_common_transaction_background_color | #ffffffff | Background color for transaction screen |
vds_asm_common_transaction_button_approve_text_color | #ff000000 | Text color for approval button |
vds_asm_common_transaction_button_approve_background_color | #ffd3d3d3 | Background color for approval button |
vds_asm_common_transaction_button_cancel_text_color | #ff000000 | Text color for cancel button |
vds_asm_common_transaction_button_cancel_background_color | #ffd3d3d3 | Background color for cancel button |
vds_asm_common_transaction_text_size_min | 15 | Text minimum size |
vds_asm_common_transaction_text_size_max | 30 | Text maximum size |
vds_asm_common_transaction_button_spacing_horizontal | 20 | Horizontal spacing between buttons |
vds_asm_common_transaction_button_spacing_vertical | 15 | Vertical spacing above button section |
vds_asm_common_transaction_screen_padding | 15 | Padding |
Dark mode support
The Tutorial App is delivered with a storyboard called FIDO_UAF_Common.storyboard (see Tutorial App—Common Storyboard).
Modify this storyboard to customize fonts and colors. The Dark mode is managed by declaring named colors in the Assets catalog Images.xcassets. The storyboard takes over the string customization of colors as soon as it is added in the integrating project.
This feature requires iOS 11 or later.
Tutorial App—Common Storyboard
This storyboard contains several links to outlets that are defined inside the FIDOUAFCommonASM.xcframework. These links cannot be restored if they are removed.
The error in the storyboard (see Tutorial App Common Storyboard—Error Message) is displayed by default and does not indicate that the compilation has failed.
Tutorial App Common Storyboard—Error Message