Kotlin
ChatClient
Antes de que puedas iniciar un chat, el Client SDK necesita autenticarse en los servidores de Vonage. Comienza creando un nuevo archivo Kotlin ChatViewModel.kt.
Crear una nueva clase ChatViewModel:
Copia
class ChatViewModel(application: Application) : AndroidViewModel(application = application) {
private val aliceJwt = "ALICE_JWT"
private val bobJwt = "BOB_JWT"
var isLoggedIn by mutableStateOf(false)
var isError by mutableStateOf(false)
var error = ""
var events : SnapshotStateList<PersistentConversationEvent> = mutableStateListOf()
private var client = ChatClient(getApplication<Application>().applicationContext)
fun login(username: String) {
val jwt = if(username == "Alice") aliceJwt else bobJwt
client.createSession(jwt) { err, sessionId ->
when {
err != null -> {
isError = true
error = err.localizedMessage?.toString() ?: ""
}
else -> {
isLoggedIn = true
}
}
}
}
}
Esta clase creará una instancia de ChatClient A continuación, crea una sesión utilizando un JWT. Sustituye ALICE_JWT y BOB_JWT con los JWT que creó anteriormente.
Acciones de los botones
Para que los botones de inicio de sesión funcionen, debes añadirles acciones que ejecuten una función al pulsarlos. Actualiza el código de la vista en MainActivity.kt para instanciar un ChatViewModel objeto y llamar a su login función:
Copia
class MainActivity : ComponentActivity() {
private val chatState by viewModels<ChatViewModel>()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
CompositionLocalProvider(LocalChatState provides chatState) {
LoginScreen()
}
}
}
}
val LocalChatState = compositionLocalOf<ChatViewModel> { error("Login State Context Not Found!") }
@Composable
fun LoginScreen() {
val vm = LocalChatState.current
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Button(onClick = { vm.login("Alice") }) {
Text("Login as Alice")
}
Button(onClick = { vm.login("Bob") }) {
Text("Login as Bob")
}
}
}
Crear una aplicación de chat para Android
Crea una aplicación Android que permita a los usuarios enviarse mensajes entre sí utilizando el Client SDK de Android y Kotlin.
Pasos
1
Introducción a esta tarea2
Prerequisites3
Crear una aplicación de Vonage4
Iniciar una conversación5
Crear los usuarios6
Generar JWT7
Crear un proyecto Android8
Creación de la interfaz de inicio de sesión9
ChatClient10
Construir la interfaz de chat11
Eventos de chat12
Enviar un mensaje13
¿Y ahora qué?