---
title: Android
description: Detección de comunicación. Tipo de red Sim (2G,3G,4G,5G) Método de configuración del proxy. Se utilizan conjuntos de cifrado. Se corrigieron datos adicionales que no se enviaban. Esta versión es una a
---

[Ir directamente al contenido](https://docs.ironchip.com/sdk#main-content)

- [Español](https://docs.ironchip.com/sdk)
- [English](https://docs.ironchip.com/en/sdk)

Español

Traducciones de Mostrar submenú de

[Contáctanos](https://docs.ironchip.com/kb-tickets/new?hsLang=es) [Portal del cliente](https://support.ironchip.com/tickets?hsLang=es)

[![01\_1-ironchip\_logo\_articulación horizontal\_ppal.png\]](https://docs.ironchip.com/hs-fs/hubfs/01_1-ironchip_logo_articulacio%CC%81n%20horizontal_ppal.png?height=40&name=01_1-ironchip_logo_articulacio%CC%81n%20horizontal_ppal.png)](https://docs.ironchip.com?hsLang=es)

Abrir navegación principal

Cerrar navegación principal

- - [Español](https://docs.ironchip.com/sdk)
    - [English](https://docs.ironchip.com/en/sdk)

  Español
  
  Traducciones de Mostrar submenú de
- [Contáctanos](https://docs.ironchip.com/kb-tickets/new)
- [Portal del cliente](https://support.ironchip.com/tickets)

 Hola. ¿Cómo podemos ayudarte?

- No hay sugerencias porque el campo de búsqueda está vacío.

1. [Centro de ayuda](https://docs.ironchip.com/?hsLang=es)
2. [Plataforma de detección de fraude](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es)
3. [SDK](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#sdk)

# Android

### Registro de cambios

### **\[1.2.13\] - 2023-10-11 - hoy en día**

> #### Agregado
> 
> - Detección de comunicación.
> - Tipo de red Sim (2G,3G,4G,5G)
> 
> #### Cambiado
> 
> #### Eliminado

### **\[1.2.12\] - 2023-09-12 - 2023-10-11**

> #### Agregado
> 
> - Método de configuración del proxy.
> 
> #### Cambiado
> 
> - Se utilizan conjuntos de cifrado.
> 
> #### Eliminado

### **\[1.2.11\] - 2023-07-05 - hoy en día**

> #### Agregado
> 
> #### Cambiado
> 
> - Se corrigieron datos adicionales que no se enviaban.
> 
> #### Eliminado

### **\[1.2.10\] - 2023-06-23 - 2023-07-05**

> - Esta versión es una actualización sin cambios funcionales. El número de versión se actualiza a 1.2.10 para mantener la secuencia de versiones.
> 
> #### Agregado
> 
> #### Cambiado
> 
> #### Eliminado

### **\[1.2.9.2\] - 2023-06-23 - 2023-06-23**

> #### Agregado
> 
> #### Cambiado
> 
> - Biblioteca Commons actualizada para correcciones adicionales.
> 
> #### Eliminado

### **\[1.2.9.1\] - 2023-06-22 - 2023-06-23**

> #### Agregado
> 
> #### Cambiado
> 
> - Biblioteca Commons actualizada para aplicar algunas correcciones de errores.
> 
> #### Eliminado

### **\[1.2.9\] - 2023-05-18 - 2023-06-22**

> #### Agregado
> 
> - Se agregó la versión sdk al modelo de transacción.
> 
> #### Cambiado
> 
> - Manejo previo de errores para permitir la creación del servicio de fraude incluso si el proveedor de gps no está disponible.
> 
> #### Eliminado

### **\[1.2.8\] - 2023-05-12 - 2023-05-12**

> #### Agregado
> 
> - Se agregaron manejos de errores adicionales para evitar que la transacción falle cuando falla algún paso de compilación.
> 
> #### Cambiado
> 
> #### Eliminado

### **\[1.2.7\] - 2023-03-15 - 2023-05-12**

> #### Agregado
> 
> - Se modificó el modelo de transacción para agregar información sobre la tarjeta SIM.
> 
> #### Cambiado
> 
> #### Eliminado

### **\[1.2.6\] - 2023-02-02 - 2023-03-15**

> #### Agregado
> 
> #### Cambiado
> 
> - Se modificó el modelo de transacción para agregar los estados de los permisos solicitados.
> - Se modificó el modelo de transacción para agregar si los proveedores de gps y wifi están habilitados.
> 
> #### Eliminado

### **\[1.2.5\] - 2023-01-13 - 2023-02-02**

> #### Agregado
> 
> #### Cambiado
> 
> - Se corrigió la configuración de proguard que hacía que la aplicación del cliente se volviera a empaquetar en nuestra carpeta interna de la biblioteca.
> 
> #### Eliminado

### **\[1.2.4\] - 2023-01-10 - 2023-01-13**

> #### Agregado
> 
> #### Cambiado
> 
> - Los errores durante el callback de sendTransacción ahora se registrarán en lugar de redirigirse al callback de excepción.
> 
> #### Eliminado

### **\[1.2.3\] - 2022-12-09 - 2023-01-10**

> #### Agregado
> 
> #### Cambiado
> 
> - Se solucionó el problema con la identificación de la huella digital.
> 
> #### Eliminado

### **\[1.2.2\] - 2022-11-30 - 2022-12-09**

> #### Agregado
> 
> #### Cambiado
> 
> - Refactorización de nombres de clase.
> - Se cambiaron las etiquetas en los registros para que coincidan con la refactorización.
> - Fraud constructor ya no admite un host de URL, solo permite seleccionar el entorno deseado.
> 
> #### Eliminado

### **\[1.2.0\] - 2022-10-12 - 2022-11-22**

> #### Agregado
> 
> - Se agregó la versión del kernel en las propiedades del dispositivo.
> - Registros de depuración
> 
> #### Cambiado
> 
> - Se corrigieron errores con el envío de cadenas JSON en lugar de matrices
> - Mejora en la identificación del dispositivo, identificación de instalación y huella digital
> - GPS y Signal ya no pueden causar un bloqueo en el proceso
> 
> #### Eliminado

### **\[1.1.3\] - 2022-09-30 - 2022-10-12**

> #### Agregado
> 
> #### Cambiado
> 
> - Publicar repositorio de nexus a github.
> 
> #### Eliminado

### **\[1.1.2\] - 2022-09-30 - 2022-10-12**

> #### Agregado
> 
> - Compatibilidad para versiones 5+
> 
> #### Cambiado
> 
> #### Eliminado

### **\[1.1.0\] - 2022-09-22 - 2022-09-30**

> #### Agregado
> 
> - Archivo de LICENCIA agregado al proyecto
> 
> #### Cambiado
> 
> - Refactorización del nombre del módulo
> 
> #### Eliminado

### **\[1.0.2\] - 2022-09-10 - 2022-09-22**

> #### Agregado
> 
> - Excepciones personalizadas
> 
> #### Cambiado
> 
> - Se excluyeron las devoluciones de llamada y las excepciones de ofuscación para facilitar el uso del cliente.
> - Se cambiaron los nombres y la estructura de los parámetros del modelo.
> 
> #### Eliminado

### **\[1.0.1\] - 2022-09-10 - 2022-09-12**

> #### Agregado
> 
> - CI/CD para compilar y publicar en las ramas dev, testing and release.
> 
> #### Cambiado
> 
> - Devoluciones de llamada excluidas y excepciones de ofuscación para facilitar el uso del cliente.
> - Se cambiaron los nombres y la estructura de los parámetros del modelo.
> 
> #### Eliminado

### **\[1.0.0\] - 2022-09-10**

> #### Agregado
> 
> - Ofuscación de código y gitignore extendido.
> 
> #### Cambiado
> 
> - Secciones de código migradas del código a una biblioteca común.
> - Modificado el comportamiento del servicio de GPS
> 
> #### Eliminado

### Configuración

#### Versiones soportadas

| Plataforma | Versiones soportadas |
| --- | --- |
| Android | 5.0.0+ |

#### Agregue el SDK de fraude basado en la ubicación de Ironchip

### Agregar nuestra biblioteca en otros proyectos

Primero, en el fichero *setting.gradle*, se deberá referenciar al repositorio remoto donde se encuentra la librería.

```
dependencyResolutionManagement {    ...    repositories {        maven { url 'https://jitpack.io' }        ...    }}
```

A continuación, en el fichero *gradle.build*, se deberá añadir la dependencia del sdk. Then, inside the file, add the dependency to the sdk.

```
dependencies {    ...    implementation "com.github.Ironchip-Security:LBFraud-SDK-Android:1.2.13"    ...}
```

#### Permisos

Añada los siguientes permisos a su manifest:

```
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_PHONE_STATE" />
```

### Uso

#### Usar en una aplicación

Para aprovechar todo el potencial del sdk, es necesario conceder el permiso ACCESS\_FINE\_LOCATION.  

[Como solicitar permisos](https://developer.android.com/training/permissions/requesting)

```
import com.ironchip.ironchiplbfraudandroidsdk.LBFraudSDK;...// Reemplace APIKEY con la clave API generada deseada.LBFraudSDK fraud = new LBFraudSDK(this, "APIKEY");// Por defecto nuestro SDK apunta al entorno de producción.// En caso de que desee apuntar a un entorno diferente:// LBFraudSDK fraud = new LBFraudSDK(this, "APIKEY", LBFraudSDK.Environment.Testing);//public enum Environment {//    Production,//    Testing,//    Development//}Map<String, Object> extraData = new HashMap<>();extraData.put("concept", "Book august");extraData.put("amount", new Integer(30));extraData.put("operation", "booking");// TransactionID (required,unique): transaction identifier request for fraud results// UserID (required): User identifier// ExtraData (optional): extra information for analysis// The sendTransaction can be provided with 2 callbacks, one is executed when the transaction is finished// and the other one is called in case an error did occure during the transaction process.ironchipLBFraud.sendTransaction("random_identifier_generated", "john.doe@gmail.com", extraData, () -> {        // Add here any code you want to be executed after the transaction        // has finished.    }, exception -> {        // Add here any code you want to perform in case of an error        // during the transaction.        // exception.printStackTrace()});
```

#### ``Ejemplo

```
import com.ironchip.ironchiplbfraudandroidsdk.LBFraudSDK;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.nio.charset.StandardCharsets;import java.util.HashMap;import java.util.Map;import java.util.concurrent.CompletableFuture;...// Reemplace APIKEY con la clave API generada deseada.LBFraudSDK fraud = new LBFraudSDK(this, "APIKEY");// Método asincrónico para realizar el inicio de sesión del usuarioprivate void login(String username, String password) {    performLogin(username, password).thenAccept(loginSuccessful -> {        if (loginSuccessful) {            // Si el inicio de sesión es exitoso, llama a sendTransaction con los parámetros necesarios            String transactionID = generateRandomTransactionID(10); // Generate or fetch your transaction ID            String userID = "john.doe@gmail.com"; // Identificador de usuario            String anonymizedUserID = anonymizeUserID(userID); // ID de usuario anonimizado            Map<String, Object> extraData = new HashMap<>(); // Información adicional para análisis            extraData.put("amount", 30); // Usa Integer.valueOf(30) si fuera necesario            extraData.put("operation", "login");            sendTransactionAfterLogin(transactionID, anonymizedUserID, extraData);        } else {            // Manejar el fallo en el inicio de sesión        }    });}// Función de inicio de sesión asincrónica que devuelve un Future<Boolean>private CompletableFuture<Boolean> performLogin(String username, String password) {    return CompletableFuture.supplyAsync(() -> {        try {            Thread.sleep(2000);                         // Reemplaza con tu lógica de inicio de sesión real            // Por ejemplo, autentica al usuario y devuelve true si es exitoso                  return true;        } catch (InterruptedException e) {            return false; // En caso de un error, devuelve false        }    });}// Función para enviar la transacción después de un inicio de sesión exitosoprivate void sendTransactionAfterLogin(String transactionID, String anonymizedUserID, Map<String, Object> extraData) {    // Enviando la transacción    fraud.sendTransaction(transactionID, anonymizedUserID, extraData, () -> {    // Agrega aquí cualquier código que quieras ejecutar después de que la transacción haya finalizado.    }, exception -> {    // Agrega aquí cualquier código que quieras ejecutar en caso de un error durante la transacción.    });}// Función para recortar, convertir a minúsculas y hashear el userIDpublic static String anonymizeUserID(String userID) {    String trimmedLowercaseUserID = userID.trim().toLowerCase();    return hashString(trimmedLowercaseUserID);}// Función para realizar el hashing utilizando SHA-256public static String hashString(String input) {    try {        MessageDigest digest = MessageDigest.getInstance("SHA-256");        byte[] hashBytes = digest.digest(input.getBytes(StandardCharsets.UTF_8));        StringBuilder hexString = new StringBuilder();        for (byte b : hashBytes) {            String hex = Integer.toHexString(0xff & b);            if (hex.length() == 1) {                hexString.append('0');            }            hexString.append(hex);        }        return hexString.toString();    } catch (NoSuchAlgorithmException e) {        throw new RuntimeException("Error while calculating hash", e);    }}private String generateRandomTransactionID(int length) {    // Implementa tu método para generar un ID de transacción único.    const String chars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890";    Random rnd = new Random();    return IntStream.range(0, length)        .mapToObj(i -> String.valueOf(chars.charAt(rnd.nextInt(chars.length()))))        .collect(Collectors.joining());}
```

``

``

- [Plataforma de identidad](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#main-content)

    - [Componentes](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#componentes)
    - [Guía del usuario](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#gu%C3%ADa-del-usuario)
    - [Guia del administrador](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#guia-del-administrador)
    - [Plataforma de identidad](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#plataforma-de-identidad)
    - [Protocolos de integración](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#protocolos-de-integraci%C3%B3n)
    - [Integraciones](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#integraciones)
    - [SLA](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#sla)
- [Plataforma de detección de fraude](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#main-content)

    - [Manuales](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#manuales)
    - [Desarrolladores](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#desarrolladores)
    - [SDK](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#sdk)
    - [SLA](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#sla)
- [Location intelligence](https://docs.ironchip.com/location-intelligence?hsLang=es)
- [Seguridad y SLA](https://docs.ironchip.com/seguridad-y-sla?hsLang=es)
- [FAQ's](https://docs.ironchip.com/faqs?hsLang=es#main-content)

    - [General](https://docs.ironchip.com/faqs?hsLang=es#general)
    - [Plataforma de identidad](https://docs.ironchip.com/faqs?hsLang=es#plataforma-de-identidad)
- [Partner portal](https://docs.ironchip.com/partner-portal?hsLang=es#main-content)

    - [Partner program](https://docs.ironchip.com/partner-portal?hsLang=es#partner-program)
    - [Documentación identity platform](https://docs.ironchip.com/partner-portal?hsLang=es#documentaci%C3%B3n-identity-platform)
    - [Documentación fraude](https://docs.ironchip.com/partner-portal?hsLang=es#documentaci%C3%B3n-fraude)

[![Ironchip](https://docs.ironchip.com/hs-fs/hubfs/logohubspot.png?width=300&height=74&name=logohubspot.png "Ironchip")](http://www.ironchip.com)

Centro de ayuda ironchip.com

Copyright © 2026, Ironchip Telco S.L.