https://d226lax1qjow5r.cloudfront.net/blog/blogposts/introducing-the-new-vonage-client-sdk-for-android-and-ios/new-vonage-client-sdk.png

Presentamos los nuevos SDK de cliente de Vonage para Android e iOS

Publicado el May 2, 2023

Tiempo de lectura: 2 minutos

¡Vonage Client SDK tiene un nuevo nombre de paquete! Con ese nuevo nombre viene una nueva versión principal con un montón de nuevas características y correcciones. Bajo el capó, el SDK ahora utiliza Kotlin Multiplataforma para compartir código de funcionalidad central entre los SDK nativos de Android e iOS.

Veamos cómo empezar con el SDK.

Añadir el SDK

Como se mencionó el SDK ahora tiene un nuevo nombre, para agregar el SDK a su aplicación tiene que hacer lo siguiente:

Android

Añada la dependencia al archivo build.gradle de tu aplicación:

implementation 'com.vonage:client-sdk-voice'

iOS

Añada la dependencia al directorio Podfile:

pod 'VonageClientSDKVoice'

Concepts clés

Cuando trabaje con el SDK hay algunos conceptos con los que deberá estar familiarizado.

Sesión

Una sesión es un flujo de comunicación en vivo entre el SDK y los servidores de Vonage. Puedes obtener más información sobre cómo crear una sesión más adelante en el blog.

Invite a

Se envía una invitación al SDK cuando el usuario actual ha sido invitado a unirse a una llamada. La función de escucha/delegación de invitación contiene la información necesaria sobre una llamada. Las invitaciones pueden ser aceptadas o rechazadas.

Llame a

Una vez que aceptes correctamente una invitación, obtendrás un ID de llamada. Este identificador le permite realizar cambios en la llamada de voz utilizando las funciones disponibles. Por ejemplo, colgar la llamada, silenciarla o utilizar la función de texto a voz, entre otras.

Pierna

Un tramo es una conexión entre un usuario y una llamada, a cada tramo se le asigna un ID. Una llamada se compone de múltiples tramos. Por lo tanto, en el caso de que dos usuarios del SDK estén en una llamada, la conexión entre el usuario A y Vonage sería el tramo 1, y la conexión entre el usuario B y Vonage sería el tramo 2. Siendo la llamada un enlace entre los tramos 1 y 2.

Crear una sesión

Ahora que ya conoces los conceptos clave, veamos cómo utilizar el SDK. Antes de realizar una llamada es necesario crear una sesión. Puede crear una sesión utilizando la función createSession función.

Android

val config = ClientConfig(ConfigRegion.US) 
val client = VoiceClient(this.application.applicationContext)
client.setConfig(config)

client.createSession("JWT") { err, sessionID ->
    if err == null {
    // Connected!
    }
}

iOS

let config = VGClientConfig(region: .US) 
let client = VGVoiceClient()
client.setConfig(config)

client.createSession("JWT") { error, sessionID in
    if error == nil {
    // Connected!
    }
}

Esta función toma un JWT para identificar a qué usuario pertenece la sesión. Consulte la Guía JWT para obtener más información sobre la creación de JWT para su uso con Client SDK.

Hacer una llamada

Una vez que haya creado correctamente una sesión, puede realizar una llamada utilizando la función serverCall función

Android

client.serverCall(mapOf("to" to "CALLEE")) { err, callID ->
    if err == null {
    // Connected to the call!
    }
}

iOS

client.serverCall(["to": "CALLEE"]) { error, callID in
    if error == nil {
    // Connected to the call!
    }
}

serverCall realiza una solicitud HTTP (a través de los servidores de Vonage) a la URL de respuesta especificada en tu aplicación de Vonage. Tu URL de respuesta debe regresar con un objeto de control de llamadas que le indica a Vonage cómo manejar la llamada.

Recibir una llamada

Veamos cómo se ve al otro lado cuando estás recibiendo una llamada:

Android

En Android, puede configurar el receptor de invitaciones de llamada que se ejecutará cuando el SDK reciba una invitación:

client.setCallInviteListener { callId, from, channelType ->
    client.answer(it) { err ->
        if err == null {
        // Connected to the call!
        }
    }
}

iOS

En iOS asegúrese de establecer el VGVoiceClientusando client.delegate = self en primer lugar. Cuando el SDK recibe una invitación, la función didReceiveInviteForCall en el VGVoiceClientDelegate será llamada:

func voiceClient(_ client: VGVoiceClient, didReceiveInviteForCall callId: String, from caller: String, withChannelType type: String) {
    client.answer(callId) { error in
        if error == nil {
        // Connected to the call!
        }
    }
}

Notificaciones Push

El nuevo Vonage Client SDK ha hecho que las notificaciones push sean la forma predeterminada de recibir llamadas entrantes, para garantizar que todas las llamadas sean recibidas por los dispositivos, ya sea que tu aplicación esté en primer plano o no. Para el comportamiento anterior, deberás habilitar las invitaciones WebSocket en la configuración de tu cliente:

config.enableWebsocketInvites = true

Para obtener información más detallada sobre cómo configurar las notificaciones push para Vonage Client SDK, consulta las nuevas guías de notificaciones push para Android y iOS.

¿Y ahora qué?

Obtén más información sobre Vonage Client SDK en developer.vonage.comdonde podrás probar el tutorial paso a paso sobre cómo realizar llamadas salientes.

Compartir:

https://a.storyblok.com/f/270183/400x400/19c02db2d3/abdul-ajetunmobi.png
Abdul AjetunmobiVonage Antiguo miembro del equipo

Abdul es desarrollador de Vonage. Ha trabajado en productos de consumo como ingeniero de iOS. En su tiempo libre, le gusta andar en bicicleta, escuchar música y asesorar a aquellos que están comenzando su viaje en la tecnología.