Implementar bate-papo virtual e Atendente
O Mobile SDK permite que você implemente facilmente os serviços de bate-papo Virtual e Atendente em sua aplicação Android.
Você usa a API NowChatSDK para criar o serviço de bate-papo. Depois que o serviço for criado, você deverá iniciar a interface do usuário de bate-papo.
A seguir está um snippet que mostra como criar o serviço de bate-papo e iniciar a interface.
/**
* Helper class used to handle different Now service instances.
*/
@Singleton
class SdkManager @Inject constructor() {
private var chatService: NowChatService? = null
/**
* Create the NowChatService once in the lifetime of the application, inside the Application class or another manager class
* that will be injected into other classes via dagger/hilt.
* NowChatService should be created after initializing the NowSDK.
*/
suspend fun getNowChatService(): NowChatService? {
if (chatService != null) return chatService
return NowChatSDK.makeChatService(URL("https://instance-name.service-now.com"),
object : NowChatSdkCallbacks {})
.getOrThrow()
.also { this.chatService = it }
}
}
//Activity that will start the NowChat
class MainActivity : AppCompatActivity() {
@Inject
lateinit var sdkManager: SdkManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//Start NowChat using the activity
lifecycleScope.launch {
sdkManager.getNowChatService()?.start(this@MainActivity)
}
}
}
Antes de aproveitar a funcionalidade de bate-papo em sua aplicação, você deve configurar Virtual Agent em sua instância ServiceNow. Para obter detalhes, consulte Virtual Agent.
Passando variáveis de contexto para o bate-papo Atendente e Virtual Agent
Você pode passar variáveis de contexto de bate-papo ao iniciar uma sessão de bate-papo, passando o parâmetro contextData na função NowChatService-start(). Para obter informações adicionais sobre variáveis de contexto de bate-papo, consulte Live agent chat context variables.
class MainActivity : AppCompatActivity() {
@Inject
lateinit var sdkManager: SdkManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val contextData = mapOf("sys_id" to "123456789", "table" to "wm_task")
//Start NowChat using the activity
lifecycleScope.launch {
sdkManager.getNowChatService()?.start(this@MainActivity, contextData = contextData)
}
}
}Tema a interface do usuário do bate-papo
Você pode personalizar as cores da IU de bate-papo Atendente e Virtual Agent passando um objeto de tema na chamada start(). Para obter uma lista de elementos que você pode personalizar, consulte NowChatService - launchIntent(context:Context, temaColors:NowChatTheme):Intenção. Por padrão, a IU de bate-papo usa o tema nowUIColor para todos os elementos de IU do NowSDK. Consulte a aplicação de exemplo para obter um exemplo de como aplicar um tema à IU de bate-papo.