Kotlin
ChatClient
Antes de iniciar um bate-papo, o Vonage Client SDK precisa se autenticar nos servidores da Vonage. Comece criando um novo arquivo em Kotlin ChatViewModel.kt.
Criar uma nova classe ChatViewModel:
Copiar
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 classe criará uma instância de ChatClient em seguida, crie uma sessão usando um JWT. Substitua ALICE_JWT e BOB_JWT com os JWTs que você criou anteriormente.
Ações dos botões
Para que os botões de login funcionem, é preciso adicionar ações a eles que executem uma função quando forem tocados. Atualize o código da visualização em MainActivity.kt para instanciar um ChatViewModel objeto e chamar seu login função:
Copiar
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")
}
}
}
Criação de um aplicativo de bate-papo para Android
Crie um aplicativo para Android que permita que os usuários troquem mensagens entre si usando o Client SDK do Android e Kotlin.
Etapas
1
Introdução a esta tarefa2
Prerequisites3
Criar uma aplicação da Vonage4
Iniciar uma conversa5
Criar os usuários6
Gerar JWTs7
Criar um projeto Android8
Criação da interface de login9
ChatClient10
Criação da interface de bate-papo11
Eventos de bate-papo12
Enviando uma mensagem13
E agora?