Gestionar ajustes del dispositivo
Esta guía explica cómo ajustar la configuración en tiempo de ejecución del Get Smart SDK Payment Service utilizando el SettingsRepository. Puedes controlar elementos de la experiencia del usuario, como la ventana emergente (pop-up) nativa de resultado de la transacción y el idioma del servicio.
Prerrequisitos
Antes de modificar los ajustes, asegúrate de que has:
- Importado la biblioteca
redsys-tpv-business-liben tu proyecto. - Inicializado el TPV con éxito utilizando
InitializationRepository.initTpv(). - Obtenido una instancia de
SettingsRepository(vía Dagger Hilt o instanciación manual).
Control de la ventana emergente de resultado
Por defecto, el Get Smart SDK Payment Service puede mostrar un mensaje emergente nativo al finalizar una transacción. Puedes habilitar o deshabilitar este comportamiento para depender únicamente de la interfaz de tu aplicación para el feedback.
- Accede al Repositorio: Usa tu instancia de
SettingsRepository. - Llama a
updateShowTransactionResult: Pasa un valor booleano a la función.true: El servicio muestra el mensaje de resultado nativo.false: El servicio oculta el mensaje, permitiéndote mostrar el tuyo propio.
Ejemplo de código
suspend fun configureResultUi(showNativePopup: Boolean) {
// repository is an instance of SettingsRepository
val result = settingsRepository.updateShowTransactionResult(
showTransactionResult = showNativePopup
)
if (result is RepositoryResult.Success) {
// The boolean data confirms the new state
println("✅ UI Preference Updated: Native popup is now ${if (result.data) "enabled" else "disabled"}")
} else {
println("❌ Failed to update UI preference")
}
}Cambiar el idioma del servicio
Puedes actualizar el idioma utilizado por la interfaz de usuario del Get Smart SDK Payment Service (p. ej., para mensajes del sistema o pantallas de entrada de PIN).
suspend fun setServiceLanguage(lang: LanguageIso6391) {
// repository is an instance of SettingsRepository
val result = settingsRepository.updateLanguage(
language = lang
)
if (result is RepositoryResult.Success) {
println("✅ Language Updated to ${lang.name}")
} else {
println("❌ Failed to update language")
}
}Próximos pasos
- Tokenizar Credenciales de Tarjeta: Aprende a gestionar tokens.