Integración de Apps Móviles

Integra SmartID en tus aplicaciones Android e iOS para reconocimiento de dispositivos, seguimiento de inicio de sesión y monitoreo de transacciones.

Descripción General

El SDK móvil de SmartID está disponible para ambas plataformas principales. Recopila datos cifrados de huella digital del dispositivo y los devuelve mediante callbacks para que tu app los envíe a tu backend.

Para aplicaciones no nativas (React Native, Flutter, Ionic, etc.), la integración también es soportada a través de bridges nativos. Contacta al equipo de SmartID para documentación específica de bridges.

Android

SDK nativo distribuido via Maven. Soporta Java y Kotlin. API level mínimo 21.

iOS

SDK nativo distribuido via Swift Package Manager. Soporta Swift 5+. iOS mínimo 13.

Android SDK

Instalación

Agrega el repositorio Maven de SmartID y la dependencia al build.gradle:

Gradle
repositories {
// SmartID Maven repository
    maven {
        url 'https://mymavenrepo.com/repo/<repo_id>/'
    }
}

dependencies {
    implementation 'com.develsystems.smartid:demo:5.0.0'
}
Repositoryhttps://mymavenrepo.com/repo/<repo_id>/
Dependencycom.develsystems.smartid:demo
Version5.0.0
Importante

La URL del repositorio Maven y las credenciales de la dependencia son proporcionadas por el equipo de SmartID durante el onboarding. Contacta a tu gerente de cuenta si no las has recibido.

Integración

La integración consta de dos partes: recopilar datos del dispositivo y enviarlos a tu backend.

1. Recopilar Datos del Dispositivo

Usa el SDK para obtener información cifrada del dispositivo:

Java
SmartId
    .getInstance()
    .GetRawData(/*optional*/ "backend_url")
    .onSuccess((time, response) -> {
        // response contains encrypted device data
        // Send it to your backend with user credentials
    })
    .onFailure((time, message, errorCode) -> {
        // Handle error – send empty data field
    })
    .start();
Kotlin
SmartId
    .getInstance()
    .GetRawData(/*optional*/ "backend_url")
    .onSuccess { time, response ->
        // response contains encrypted device data
        // Send it to your backend with user credentials
    }
    .onFailure { time, message, errorCode ->
        // Handle error – send empty data field
    }
    .start()

Parámetros del Método

Parámetro Tipo Requerido Descripción
backend_urlStringOptionalURL de tu backend. Utilizada para verificaciones de seguridad adicionales como SSLPinning y detección de PharmingAttack.

Parámetros del Callback

Parámetro Tipo Descripción
timeLongDuración de la solicitud en milisegundos
responseStringDatos cifrados del dispositivo para enviar al API de SmartID
messageStringDescripción del error (solo en callback de falla)
errorCodeIntCódigo de error (solo en callback de falla)
Importante

Si el SDK devuelve un callback de Failure, aún debes enviar la solicitud de login a tu backend, pero con un campo data vacío.

2. Procesamiento en Backend

Cuando el usuario envía sus credenciales, adjunta el <code>response</code> cifrado de SmartID y reenvíalo al API de SmartID. Consulta la Referencia API para detalles completos de endpoints, atributos de solicitud y ejemplos.

iOS SDK

Instalación

Agrega los siguientes paquetes via Swift Package Manager:

SmartID SDKhttps://github.com/DevelSystems/SmartID-iOSTag: 5.0.0
KeychainAccesshttps://github.com/kishikawakatsumi/KeychainAccessVersion: 4.2.2
Importante

El acceso al repositorio del SDK de SmartID para iOS es otorgado por el equipo de SmartID durante el onboarding. Contacta a tu gerente de cuenta si no tienes acceso.

Nota

La dependencia KeychainAccess es requerida para que el SDK de SmartID para iOS funcione correctamente.

Integración

La integración consta de dos partes: recopilar datos del dispositivo y enviarlos a tu backend.

1. Recopilar Datos del Dispositivo

Usa el SDK para obtener información cifrada del dispositivo:

Swift
SID.shared
    .getRawData("backend_url") // optional parameter
    .onSuccess(success: { time, response in
        // response contains encrypted device data
        // Send it to your backend with user credentials
    })
    .onFailure(failure: { time, message, errorCode in
        // Handle error – send empty data field
    })
    .start()

Parámetros del Método

Parámetro Tipo Requerido Descripción
backend_urlStringOptionalURL de tu backend. Utilizada para verificaciones de seguridad adicionales como SSLPinning y detección de PharmingAttack.

Parámetros del Callback

Parámetro Tipo Descripción
timeLongDuración de la solicitud en milisegundos
responseStringDatos cifrados del dispositivo para enviar al API de SmartID
messageStringDescripción del error (solo en callback de falla)
errorCodeIntCódigo de error (solo en callback de falla)
Importante

Si el SDK devuelve un callback de Failure, aún debes enviar la solicitud de login a tu backend, pero con un campo data vacío.

2. Procesamiento en Backend

Cuando el usuario envía sus credenciales, adjunta el <code>response</code> cifrado de SmartID y reenvíalo al API de SmartID. Consulta la Referencia API para detalles completos de endpoints, atributos de solicitud y ejemplos.