Interacción
Después de configurar los parámetros correctos e inicializar XpressPlug, puedes ejecutarlo. Para ello, invoca 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.
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 callback devuelven información diferente sobre XpressPlug y su estado del proceso. Consulta la tabla a continuación 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 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 se produjo un error al ejecutar XpressPlug. Muestra los códigos de error de UA y, en algunos casos, la descripción del error. Para obtener más información sobre estos errores, dirígete a Códigos de error en dispositivos móviles. |
Interactuar con XpressPlug
Puedes interactuar con XpressPlug y llamar a los puntos de entrada. Estos se usan para conectarse con las funcionalidades de Veritran, como los procesos o las transacciones.
Los puntos de entrada pueden ser visuales, como invocar una pantalla que abre la cámara del dispositivo para tomar una fotografía, o no visuales, como la validación de un inicio de sesión. Para interactuar con estos puntos de entrada, ingresa la siguiente sintaxis:
XPSDK.runAction(“NAME_EP”, withParameters: <DICTIONARY_INBOUNDS>, andDelegate: <IMPLEMENTATION_XPSDKDelegate>, andViewController: self)
En el campo de nombre runAction, ingresa 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>.
La interacción con el punto de entrada devuelve una serie de métodos de callback que debes completar. Consulta 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 después de ejecutar los puntos de entrada. Recibe un diccionario con los parámetros de salida como el parámetro de resultado. |