---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Implementar bate-papo virtual e Atendente

# Implementar bate-papo virtual e Atendente {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 min. de leitura

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](https://servicenow-prod.fluidtopics.net/T~D761NB8hRfGrEXu5jF2w#NowChatSDKAndroidAPI "A classe NowChatService fornece a função necessária para criar um NowChatService que interage com o NowChat. O NowChat oferece a capacidade de incorporar Atendente e Virtual Agent em sua aplicação.") 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](https://www.servicenow.com/docs/access?context=virtual-agent-landing-page&version=xanadu&pubname=xanadu-conversational-interfaces&ft:locale=en-US).

## Passando variáveis de contexto para o bate-papo Atendente e Virtual Agent {#mobsdk-and-imp-chat__section_tcq_3tj_k1c}

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()](https://servicenow-prod.fluidtopics.net/OijGNpk107APA7p0GJaEQg#NChatServA-start_O_O "Inicia a atividade do NowChat especificada."). Para obter informações adicionais sobre variáveis de contexto de bate-papo, consulte [Live agent chat context variables](https://www.servicenow.com/docs/access?context=live-agent-chat-context-vars&version=xanadu&pubname=xanadu-conversational-interfaces&ft:locale=en-US).  

    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](https://servicenow-prod.fluidtopics.net/OijGNpk107APA7p0GJaEQg#NChatServA-launchIntent_O_O "Inicia a intenção usada para abrir a atividade do NowChat. Normalmente usado para criar um [android.app.PENDINGIntent]."). 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.

