https://a.storyblok.com/f/270183/1368x665/c3de0b34bf/25mar_dev_blog_client-library.png

Presentamos nuestra nueva biblioteca de clientes para Android e iOS

Publicado el March 11, 2025

Tiempo de lectura: 3 minutos

Nos complace anunciar nuestra biblioteca de clientes para Android y iOSun nuevo SDK diseñado desde cero que permite a los desarrolladores prescindir del WiFi y garantizar que determinadas llamadas a la API se envíen exclusivamente a través de redes móviles. Esta biblioteca de clientes sustituye a Verify Silent Auth y SDK de verificación de Numbersque ya no recibirán actualizaciones.

Por qué es importante

Algunas API de red, como API de verificación de Numbers o Verify API con autenticación silenciosasólo funcionan en redes móviles. Esto se debe a que los operadores de telefonía móvil se basan en los datos de tráfico de red para verificar a los usuarios.

La nueva biblioteca de clientes obliga a que las solicitudes GET de la API se envíen a través de la red celular sin necesidad de desactivar manualmente la conectividad WiFi en los dispositivos de los usuarios.

Cómo funciona

Integrar la biblioteca de clientes de Vonage en tu aplicación móvil es simple. Con solo unas pocas líneas de código, los desarrolladores pueden enviar sus solicitudes de API a través de la red móvil, evitando WiFi cuando sea necesario.

Veámoslo en acción.

Android

Para utilizar Client Library, añada la siguiente dependencia a su archivo build.gradle :

implementation 'com.vonage:client-library:1.0.0'

Importe los paquetes necesarios e inicialice la biblioteca antes de realizar llamadas a la API:

import com.vonage.clientlibrary.VGCellularRequestClient
import com.vonage.clientlibrary.VGCellularRequestParameters

VGCellularRequestClient.initializeSdk(this.applicationContext)

Crear un VGCellularRequestClientParameters con los parámetros necesarios:

val params = VGCellularRequestClientParameters(
    url = "http://www.vonage.com",
    headers = mapOf("x-my-header" to "My Value") ,
    queryParameters = mapOf("query-param" to "value"),
    maxRedirectCount = 10
)

Dónde:

  • URL: se corresponde con un punto final de la API.

  • Cabeceras: un mapa de cadenas con las cabeceras HTTP que quieres incluir en tu petición.

  • queryParameters: un mapa de cadenas (pares clave-valor) con los parámetros de consulta a incluir en nuestra petición GET.

  • maxRedirectCount: opcional y por defecto 10. Este parámetro establece el número de redirecciones permitidas. TBC

Por último, llame al comando startCellularGetRequest para enviar la solicitud a través de la red móvil:

val response = VGCellularRequestClient.getInstance().startCellularGetRequest(params)

El método admite un segundo parámetro booleano para depurar las llamadas a la API. Este parámetro está predeterminado en false, pero se puede activar de la siguiente manera:

val response = 
VGCellularRequestClient.getInstance().startCellularGetRequest(params, true)

iOS

Al igual que en Android, añada Client Library como dependencia en su proyecto:

let package = Package(
    dependencies: [
        .Package(url: "https://github.com/Vonage/vonage-ios-client-library.git")
    ]
)

También puede instalar la biblioteca a través de Cocoapodsutilizando el pod VonageClientLibrary.

Importa e inicializa la biblioteca:

import VonageClientLibrary

let client = VGCellularRequestClient()



Create a VGCellularRequestClientParameters object with the necessary parameters:
let params = VGCellularRequestParameters(url: "http://www.vonage.com",
                                headers: ["x-my-header": "My Value"],
                                queryParameters: ["query-param" : "value"]
                                maxRedirectCount: 10)

Utilice la función startCellularGetRequest para enviar la solicitud a través de la red móvil. El segundo parámetro debug es opcional y establece el indicador de depuración (por defecto es false):

let response = try await client.startCellularRequest(params: params, debug: true)

Respuestas

Cuando se recibe una respuesta del endpoint URL, se ejecuta el comando startCellularGetRequest devuelve un objeto que contiene las siguientes propiedades:

{
    "http_status": string, // HTTP status code of the URL response
    "response_body" : {    // Optional, depending on the HTTP status
        ...                // The response body of the requested url
    },
    "debug" : {            // Present if the debug flag is set to true
        "device_info": string, 
        "url_trace" : string
    }
}

Si no hay conectividad o se produce un error interno en la biblioteca de clientes, el objeto de respuesta incluye las siguientes propiedades:

{
    "error" : string,             // Error code
    "error_description": string,  // Error description
    "debug" : {                   // Present if debug flag is set to true
        "device_info": string, 
        "url_trace" : string
    }
}

¿Tienes alguna pregunta o algo que compartir? Únete a la conversación en Slack de la comunidad de Vonagey mantente actualizado con el Boletín para desarrolladoressíguenos en X (antes Twitter)suscríbete a nuestro canal de YouTube para ver tutoriales en video, y sigue la página de página para desarrolladores de Vonage en LinkedInun espacio para que los desarrolladores aprendan y se conecten con la comunidad. Mantente conectado, comparte tu progreso y entérate de las últimas noticias, consejos y eventos para desarrolladores.

Compartir:

https://a.storyblok.com/f/270183/405x400/2b811a162d/alvaro-navarro.jpg
Alvaro NavarroPromotor senior

Alvaro es un defensor de los desarrolladores en Vonage, centrándose en las API de red. Es un apasionado de la experiencia del desarrollador, las API y el código abierto. Fuera del trabajo, a menudo se le puede encontrar explorando tiendas de cómics, asistiendo a festivales de ciencia ficción y terror o haciendo cosas con esos famosos pequeños bloques de construcción de plástico.