Interacción
Después de configurar los parámetros correctos e inicializar XpressPlug, puede ejecutarlo. Para hacerlo, invoque el método Sdk.start().
Crea una clase nueva que implementará el protocolo y modifícala como un parámetro del método de inicio. Luego, invócalo. Luego, invoque el método de inicio.
XPSDK.start(XPSDKStartActionDelegate())
La clase XPSDKStartActionDelegate está configurada como un ejemplo de esta documentación, la cual, en consecuencia, implementa el protocolo XPStartActionMessageDelegate.
Cuando se invoca el método de inicio detallado anteriormente, se notifica la inicialización de XpressPlug mediante una serie de métodos de callback.
XPStartActionMessageDelegate { func onProgressMessageUpdate(message: String) { } func onProgressPercentageUpdate(percentage: Int32) { } func onFinish() } func onFinish(_ entryPoint: String) { } func onError() { }
Métodos de callback
Los métodos de devolución de llamada devuelven información diferente sobre XpressPlug y su estado de proceso. Consulte la siguiente tabla para obtener más información:
onProgressMessageUpdate | Se encarga de devolver el estado de XpressPlug a la app principal. |
onProgressPercentageUpdate | XpressPlug necesita conexión de datos para actualizar ciertas funcionalidades. Esta función se encarga de mostrar el progreso de la descarga de estas actualizaciones. |
XpressPlugNeedsUpdate | Se encarga de mostrar si la app necesita una versión más reciente de XpressPlug. |
onFinish | Notifica que el método start () se ejecutó correctamente. |
onError | Notifica que hubo un error al ejecutar XpressPlug. Muestra códigos de error de UA y, en algunos casos, una descripción del error. Para obtener más información sobre estos errores, vaya a Códigos de error móviles. |
Interactuar con XpressPlug
Puede interactuar con XpressPlug y solicitar puntos de entrada. Estos puntos de entrada se utilizan para conectarse con las funcionalidades de Veritran, como procesos o transacciones.
Los puntos de entrada pueden ser visuales, como invocar una pantalla que abre la cámara del dispositivo para tomar una foto, o no visuales, como validar un inicio de sesión. Para interactuar con estos puntos de entrada, ingrese la siguiente sintaxis:
XPSDK.runAction(“NAME_EP”, withParameters: <DICTIONARY_INBOUNDS>, andDelegate: <IMPLEMENTATION_XPSDKDelegate>, andViewController: self)
En el campo de nombre runAction, ingrese el nombre de la funcionalidad tal como está configurada en Studio. Ambos campos deben coincidir para que funcionen correctamente.
Luego, crea un diccionario con los parámetros de entrada de los puntos de entrada, como se muestra en el ejemplo a continuación:
var <DICTIONARY_INBOUNDS>:[String:String] = [“INPUT_1”:"VALUE_1", “INPUT_2”:"VALUE_2", “INPUT_2”:"VALUE_3"]
Importante
Tanto el nombre del punto de entrada como el nombre del parámetro deben coincidir con lo que se ha configurado en Studio en la página SDK Configuration de la app.
Después de esto, implementa XPSDKDelegate como un parámetro para <IMPLEMENTATION_XPSDKDelegate>.
Interactuar con el punto de entrada devuelve una serie de métodos de devolución de llamada que debe completar. Consulte el código y la tabla a continuación para obtener más información sobre cómo completarlos.
func onMessage(_ viewController: UIViewController, entryPoint: String?, command: String, result: XPOutboundParameters) { } func onError(_ viewController: UIViewController, entryPoint: String?) { } func onUpdateConfigurationRequired(_ viewController: UIViewController, entryPoint: String?) { } func onUpdateSdkRequired(_ viewController: UIViewController, entryPoint: String?) { } func onClose(_ viewController: UIViewController, entryPoint: String?, result: XPOutboundParameters) { }
onMessage | Devuelve el estado de XpressPlug al delegado. |
onException | Se ejecuta cuando se produce un error. |
onUpdateConfigurationRequired | Aparece cuando se debe actualizar la configuración. |
onUpdateSdkRequired | Aparece cuando se debe actualizar el SDK. |
onClose | Muestra el resultado obtenido tras ejecutar los puntos de entrada. Recibe un diccionario con parámetros de salida como parámetro de resultado. |