Visión general

En esta guía aprenderás a añadir el Client SDK a tu aplicación Android.

Requisitos previos

El Client SDK requiere un nivel de API de Android mínimo de 23.

Para añadir el Client SDK a su proyecto

Abra su proyecto Android

Abra el código base de su proyecto Android en su IDE.

Añadir dependencias

El Client SDK de Vonage en Android se distribuye como 3 SDK separados. com.vonage.client-sdk-voice para la funcionalidad de voz dentro de la aplicación, com.vonage.client-sdk-chat para la funcionalidad de mensajería dentro de la aplicación, y combinado como com.vonage.client-sdk. com.vonage.client-sdk-chat no incluye la dependencia de WebRTC, por lo que es una biblioteca más pequeña. Solo debes utilizar un SDK a la vez en tu aplicación.

  • In-app Voice y In-App Messaging - instalar com.vonage.client-sdk sólo.

  • In-App Voice - instalar com.vonage.client-sdk-voice sólo.

  • In-App Messaging - instalar com.vonage.client-sdk-chat sólo.

Aviso de caducidad del producto
A partir del 30 de abril de 2026, Vonage In-App Messaging dejará de estar disponible. Se cerrará el acceso para nuevos usuarios y se interrumpirá el servicio para todos los usuarios existentes.
Si tiene alguna pregunta sobre la retirada de este producto, póngase en contacto con su gestor de Account o con nuestro equipo de asistencia.

NOTA: Hay dos lenguajes utilizados para definir los scripts de construcción de Gradle - Groovy (build.gradle ) y Kotlin Gradle Script (build.gradle.kts ). Un proyecto Kotlin-Android puede seguir utilizando Groovy como lenguaje para los scripts de compilación. Comprueba la extensión del archivo para determinar el idioma de los archivos de script de compilación.

Ahora añade el Client SDK a tu proyecto. Añade la siguiente dependencia en el nivel de tu aplicación build.gradle (normalmente app/build.gradle):

dependencies {
    implementation 'com.vonage:client-sdk:1.6.0'
}

Puede que necesite aumentar la asignación de memoria para la JVM editando el archivo org.gradle.jvmargs propiedad en su gradle.properties archivo. Recomendamos que sea de al menos 4 GB:

org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8

Establecer Java 1.8

Establezca Java 1.8 en el nivel de su aplicación build.gradle o build.gradle.kts (normalmente app/build.gradle o app/build.gradle.kts):

android {
   
   // ...

   compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
   }

   // Only for Kotlin projects
   kotlinOptions {
       jvmTarget = JavaVersion.VERSION_1_8.toString()
   }
}

Añadir permisos

Para utilizar las funciones In-App Voice, añade permisos de audio mediante el siguiente procedimiento:

  1. Añada los permisos necesarios al AndroidManifest.xml archivo:
<manifest ...>
	<uses-permission android:name="android.permission.INTERNET" />
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
	<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
	<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
	<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
	<uses-permission android:name="android.permission.RECORD_AUDIO" />
	<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
</manifest>

Permisos de tiempo de ejecución

  • Para los dispositivos que ejecutan Android versión 6.0 Marshmallow (nivel de API 23) o superior, debe solicitar la aplicación RECORD_AUDIO en tiempo de ejecución:
// this is the current activity
val callsPermissions = arrayOf(Manifest.permission.RECORD_AUDIO)
ActivityCompat.requestPermissions(this, callsPermissions, 123)
  • Para los dispositivos que ejecutan la versión 12 de Android (nivel de API 31) o superior, también debe solicitar la aplicación READ_PHONE_STATE en tiempo de ejecución:
// this is the current activity
val callsPermissions = arrayOf(Manifest.permission.RECORD_AUDIO, Manifest.permission.READ_PHONE_STATE)
ActivityCompat.requestPermissions(this, callsPermissions, 123)

Más información sobre la solicitud de permisos de ejecución en Android aquí.

Normas ProGuard

Opcionalmente, si utilizas ProGuard, deberás configurar la herramienta para que omita el Vonage Client SDK. No se recomienda reducir y/u ofuscar el Vonage Client SDK y podría causar conflictos con otras bibliotecas. La configuración recomendada de ProGuard es:

-keep class org.webrtc.**  { *; }
-keep class org.vonage.**  { *; }
-keep class com.vonage.**  { *; } 

La configuración anterior obliga a mantener el código fuente del Vonage Client SDK tal como está, al tiempo que permite reducir el tamaño del resto de la aplicación. El compilador realiza automáticamente un conjunto de optimizaciones por defecto, pero es posible habilitar optimizaciones adicionales que pueden requerir que incluyas reglas ProGuard adicionales para evitar problemas en tiempo de ejecución. Puede hacerlo añadiendo lo siguiente en el archivo de propiedades gradle del proyecto:

android.enableR8.fullMode=true

Para obtener más información sobre cómo optimizar su aplicación Android, consulte la página oficial de Documentación sobre Android.

Uso del Client SDK en su aplicación

Una vez instalado el Client SDK y solicitados los permisos de audio, ya puede empezar a utilizarlo.

Crear una sesión

Las sesiones son un flujo de comunicación en vivo entre el Client SDK y los servidores de Vonage. Crear una VoiceClient y, a continuación, crear una sesión con un usuario JWT simbólico.

var client = VoiceClient(this.application.applicationContext)

client.createSession("JWT_TOKEN") { error, sessionId ->
    ...     
}

Si la creación de la sesión se realiza correctamente, recibirá un identificador de sesión.

Estado de la sesión

Si se produce algún error con la sesión después de que se haya creado correctamente, lo recibirá en la pantalla SessionErrorListener en el VoiceClient objeto.

client.setSessionErrorListener { reason ->
    //Reason for error
}

Conclusión

Ha añadido el Client SDK a su aplicación Android y ha creado una sesión. Ahora puede utilizar la función VoiceClient en su aplicación y utilice las funciones del Client SDK.

Ver también