Este Kotlin SDK le permite usar API Vonage en cualquier aplicación basada en JVM. Deberá haber creado una cuenta vonage.
También proporcionamos SDK del servidor en otros idiomas:
También ofrecemos SDK del lado del cliente para Android, iOS y JavaScript. Vea todos nuestros SDK e integraciones en el portal de desarrolladores de Vonage.
Los lanzamientos se publican para Maven Central. Las instrucciones para su sistema de compilación se pueden encontrar en la sección de fragmentos. También están disponibles desde aquí. Las notas de lanzamiento para cada versión se pueden encontrar en ChangeLog.
Aquí están las instrucciones para incluir el SDK en su proyecto:
Agregue lo siguiente a su archivo build.gradle
o build.gradle.kts
:
dependencies {
implementation( " com.vonage:server-sdk-kotlin:1.1.0 " )
}
Agregue lo siguiente a la sección <dependencies>
de su archivo pom.xml
:
< dependency >
< groupId >com.vonage</ groupId >
< artifactId >server-sdk-kotlin</ artifactId >
< version >1.1.0</ version >
</ dependency >
Nota : Recomendamos encarecidamente que use una herramienta con gestión de dependencias, como Maven o Gradle.
Alternativamente, puede clonar el repositorio y construir el archivo jar usted mismo:
git clone [email protected]:vonage/vonage-kotlin-sdk.git
mvn install -P uberjar
El perfil uberjar
creará un archivo JAR con todas las dependencias incluidas en el directorio target
en la raíz del repositorio. Luego puede incluir esto en el classpath de su proyecto.
El SDK requiere muy poca configuración para comenzar.
Para la configuración predeterminada, solo necesita especificar las credenciales de su cuenta de vonage utilizando la clave API y la clave secreta, la clave privada y la identificación de la aplicación o ambos. Para obtener la máxima compatibilidad con todas las API, se recomienda que especifique ambos métodos de autenticación, como así:
import com.vonage.client.kt.Vonage
val vonage = Vonage {
apiKey( API_KEY ); apiSecret( API_SECRET )
applicationId( APPLICATION_ID )
privateKeyPath( PRIVATE_KEY_PATH )
}
También puede usar variables de entorno para conveniencia, estableciendo lo siguiente:
VONAGE_API_KEY
: la clave API de su cuentaVONAGE_API_SECRET
- su cuenta API SecretVONAGE_SIGNATURE_SECRET
- (avanzado, opcional) Secreto de firma para solicitudes firmadas cuando se usa API SMSVONAGE_APPLICATION_ID
- uuid de la aplicación vonage que desea usarVONAGE_PRIVATE_KEY_PATH
- ruta absoluta al archivo de clave privada para la aplicacióny luego instanciar al cliente con:
val vonage = Vonage { authFromEnv() }
Puede configurar el URI base (por ejemplo, para hacer pruebas de integración) y el tiempo de espera de solicitud de HTTP con httpConfig
durante la instancia, como así:
val vonageClient = Vonage {
authFromEnv()
httpConfig {
baseUri( " http://localhost:8976 " )
timeoutMillis( 15000 )
}
}
Al igual que con nuestros otros SDK, la arquitectura se basa en la clase Vonage
, que define las credenciales de autenticación y la configuración avanzada opcional para el cliente HTTP. La clase tiene un campo para cada API compatible, que devuelve un objeto que contiene métodos disponibles en esa API. Donde el SDK difiere de otros SDK es que utiliza un enfoque basado en recursos para las operaciones CRUD, en lugar de una lista plana de métodos. Estas son clases internas definidas para cada recursos de API y siempre tienen prefijo con Existing
, por ejemplo, ExistingCall
, CALT, ExistingSession
, ExistingApplication
, etc. Como regla general, los recursos con identificadores únicos tienen una clase Existing[Resource]
correspondiente que se utiliza para realizar operaciones en Ese recurso, en lugar de pasar repetidamente la identificación de ese recurso a los métodos en la clase principal, como es el caso en el Java SDK. Estas clases de recursos se construyen a partir de una llamada de método en la clase API de nivel superior. Entonces, por ejemplo, para trabajar con una ExistingSession
, lo haría: client.video.session(SESSION_ID)
, donde client
es una instancia de Vonage
y SESSION_ID
es el identificador único de la sesión de video con la que desea trabajar.
Puede encontrar muestras de código ejecutables completas en el repositorio de fragmentos de código, incluida una lista de fragmentos de búsqueda .
El SDK está completamente documentado con KDOCS, por lo que debe tener documentación completa de su IDE. Es posible que deba hacer clic en "Descargar fuentes" en IntelliJ para obtener la documentación completa. Alternativamente, puede navegar la documentación utilizando un servicio como Javadoc.io, que representa la documentación de los artefactos en Maven Central.
Para obtener ayuda con cualquier API específica, consulte la documentación relevante en nuestro portal de desarrolladores, utilizando los enlaces proporcionados en la sección API compatible. Para completar, también puede consultar las especificaciones de API si cree que hay discrepancias.
P: ¿Por qué usar este SDK en lugar del SDK del servidor Java Vonage?
R: Este Kotlin SDK se basa en el Java SDK para mejorar la experiencia del usuario en Kotlin. Agrega azúcar sintáctica, por lo que puede evitar el engorroso patrón de constructor en favor de una sintaxis más idiomática similar a DSL, parámetros opcionales y nombrados con valores predeterminados, etc., mientras que aún vuelve a hacer la tusión fuerte ofrecida por el Java SDK. Además, está más parcialmente protegido de "tipos de plataforma" (¡ !
) Por lo que tiene una mejor idea de lo que es y no es anulable al crear solicitudes. Puede leer más sobre las diferencias en la publicación del blog del anuncio V1.0.0.
P: ¿Cuál es su política sobre la seguridad de los hilos?
R: Al igual que con el SDK del servidor Java, solo un hilo debe usar el cliente a la vez. Si desea usar el SDK en un entorno multiproceso, cree una instancia separada de Vonage
para cada hilo o use una instancia de ThreadLocal.
P: Tengo problemas con mi proyecto cuando incluyo el SDK como dependencia. ¿Cómo puedo solucionar esto?
R: Por favor, vea esta publicación de blog. En resumen, puede tener versiones de dependencia conflictivas en su proyecto que chocan con las dependencias transitivas de este SDK.
P: Me encuentro con problemas de solicitud de HTTP, como tiempos de espera. ¿Cómo puedo remediar o informar esto?
R: Dado que esta biblioteca usa el Java SDK debajo, que a su vez usa Apache HTTP Client 4, puede usar las propiedades del sistema para configurar el cliente o usar el método httpConfig
de este SDK en la clase Vonage
para un control más grano. Si cree que hay un problema con el cliente subyacente, plantee un problema con un ejemplo reproducible mínimo, incluidos los detalles de su entorno (versión de tiempo de ejecución de JVM, versión SDK, sistema operativo, etc.) en el repositorio de Vonage Java SDK.
P: No estoy seguro de si mi problema es con el SDK. ¿Cómo puedo obtener ayuda?
R: Consulte nuestra página de soporte, incluida la información de contacto.
¡❤️ Contribuciones a esta biblioteca!
Es una buena idea hablar con nosotros primero si planea agregar alguna nueva funcionalidad. De lo contrario, siempre se agradecen los informes de errores, las correcciones de errores y los comentarios sobre la biblioteca. También puede contactarnos a través de los siguientes canales: