---
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


---

# Classe NowChatService - Android

# Classe NowChatService - Android {#ariaid-title1}

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

A classe NowChatService fornece funções que permitem iniciar a atividade NowChat e definir configurações de erro.

## NowChatService - launchIntent(context:Context, temaColors:NowChatTheme):Intenção {#ariaid-title2}

Inicia a intenção usada para abrir a atividade do NowChat. Normalmente usado para criar um `[android.app.PENDINGIntent]`.
{#NChatServA-launchIntent_O_O__table_yv2_43l_nrb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| contexto | Contexto | Contexto usado para criar a intenção. |
| coresdo tema | [Tema do NowChat](https://servicenow-prod.fluidtopics.net/5mbpMyOD2RCC6YJsnapGcQ "A interface NowChatTheme define cores padrão para os elementos na IU de bate-papo Atendente e Virtual Agent.") | Opcional. Cores do tema a serem usadas na IU do NowChat. Padrão: cores padrão |
[Tabela 1. Parâmetros]

{#NChatServA-launchIntent_O_O__table_yv2_43l_nrb} {#NChatServA-launchIntent_O_O__table_zv2_43l_nrb__entry__2}

| Tipo | Descrição |
|-|-|
| Intenção | Cores de intenção e tema usadas para iniciar a atividade do NowChat associada. |
[Tabela 2. Retorna]

{#NChatServA-launchIntent_O_O__table_zv2_43l_nrb}  
Este exemplo mostra como chamar o método launchIntent() e processar a atividade de devolução.

    val intent = nowChatService.launchIntent(this) 
    val pendingIntent = PendingIntent.getActivity( 
        this, 
        REQUEST_CODE,
        intent,
        PendingIntent.FLAG_IMMUTABLE 
    ) 

    val notification = createNotification(title, message, pendingIntent)
    notificationManager.notify(push.notificationId, notification) 

## NowChatService - start(activity: Activity,meColors: NowChatTheme = objeto : NowChatTheme{}, contextData: Map\<String, Any\> = mapOf(), chatOptions: NowChatOptions? = nulo) {#ariaid-title3}

Inicia a atividade do NowChat especificada.
{#NChatServA-start_O_O__table_lbg_cyg_tpb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| atividade | [Atividade](https://developer.android.com/reference/kotlin/android/app/Activity.html) | Contexto de atividades a ser usado para iniciar a atividade do NowChat e para receber o `NowChatExitCode` como um resultCode por meio do onActivityResult. |
| coresdo tema | [Tema do NowChat](https://servicenow-prod.fluidtopics.net/5mbpMyOD2RCC6YJsnapGcQ "A interface NowChatTheme define cores padrão para os elementos na IU de bate-papo Atendente e Virtual Agent.") | Opcional. Cores do tema a serem usadas na IU do NowChat. Padrão: cores padrão |
| Dadoscontexto | Mapa\<String, Any\> | Opcional. Variáveis de contexto de bate-papo adicionais que são passadas para a sessão de bate-papo. 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). |
| chatOpções | [NowChatOptions](https://servicenow-prod.fluidtopics.net/G1zy6Wasb_HvrFDosy8PRg#NowChatOptionsAndroid "A classe NowChatOptions permite que você configure opções em uma sessão de bate-papo, como mostrar um aviso antes de fechar uma janela de bate-papo, desabilitar recursos ao usar o bate-papo e forçar uma nova conversa de bate-papo quando o serviço de bate-papo for iniciado.") | Opcional. Opções a serem aplicadas à sessão de bate-papo. |
[Tabela 3. Parâmetros]

{#NChatServA-start_O_O__table_lbg_cyg_tpb} {#NChatServA-start_O_O__table_mbg_cyg_tpb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 4. Retorna]

{#NChatServA-start_O_O__table_mbg_cyg_tpb}  
O exemplo de código a seguir mostra como chamar essa função.

    suspend fun launchChat() { 
      val chatService = getNowChatService() 
      val chatTheme = object : NowChatTheme { 
        override val brand: NowUIAdaptiveColor 
        get() = NowUIAdaptiveColor(Color.BLUE) 
     
        override val textPrimary: NowUIAdaptiveColor 
        get() = NowUIAdaptiveColor(Color.BLACK) 
     
        // Override remaining theme colors 
     
      } 
      val contextData = mapOf("sys_id" to "123456789", "table" to "wm_task") 
     
      val chatOptions = NowChatOptions( 
        NowChatOptions.ClosePrompt( 
          header = null, 
          message = "Are you sure you want to leave?", 
          acceptButtonTitle = "Yes", 
          declineButtonTitle = "No" 
        ), 
        disabledFeatures = listOf(NowChatOptions.Feature.START_NEW_CONVERSATION), 
        forceNewConversation= true 
      )
     
       chatService?.start(activity, chatTheme, contextData, chatOptions) 
    } 

## NowChatService -SubscribeToUnreadMessageCount(pollingInterval: Long, ouvinte: NowChatUnreadMessagesCountListener) {#ariaid-title4}

Assina o ouvinte da contagem de mensagens de bate-papo não lidas.
{#NChatServA-subToUnreadMsgCnt_I_O__table_zrg_k1m_cqb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Intervalo de pesquisa | Longa | Frequência na qual pesquisar o serviço Web para a contagem de mensagens de bate-papo não lidas. Unidade: Milissegundos |
| listener | NowChatUnreadMessagesCountListener | Ouvinte que você implementa para obter o número de mensagens de bate-papo não lidas. Você também deve cancelar a assinatura deste ouvinte quando não quiser mais obter a contagem de mensagens não lidas usando o método [NowChatService - unsubscribeFromUnreadMessageCount (ouvinte: NowChatUnreadMessagesCountListener)](https://servicenow-prod.fluidtopics.net/OijGNpk107APA7p0GJaEQg#NChatServA-unsubFromUnreadMsgCnt_O "Cancela a assinatura de recebimento da contagem de mensagens não lidas."). |
[Tabela 5. Parâmetros]

{#NChatServA-subToUnreadMsgCnt_I_O__table_zrg_k1m_cqb} {#NChatServA-subToUnreadMsgCnt_I_O__table_asg_k1m_cqb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 6. Retorna]

{#NChatServA-subToUnreadMsgCnt_I_O__table_asg_k1m_cqb}  
O exemplo a seguir mostra como assinar e cancelar a assinatura de um ouvinte de contagem de mensagens não lidas de bate-papo.

    private val unreadMessageCountListener = object: NowChatUnreadMessagesCountListener {
      override fun unreadMessagesCountDidChange(unreadMessageCount: Int) {
      }
    }

    fun setup() {
      nowChatService.subscribeToUnreadMessageCount(pollingInterval:1000, unreadMessageCountListener)
    }

    fun teardown() {
      nowChatService.unsubscribeFromUnreadMessageCount(unreadMessageCountListener)
    }

## NowChatService - unsubscribeFromUnreadMessageCount (ouvinte: NowChatUnreadMessagesCountListener) {#ariaid-title5}

Cancela a assinatura de recebimento da contagem de mensagens não lidas.
{#NChatServA-unsubFromUnreadMsgCnt_O__table_inp_hbm_cqb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| listener | NowChatUnreadMessagesCountListener | Ouvinte que você implementa para cancelar a assinatura do ouvinte da contagem de mensagens não lidas do bate-papo. |
[Tabela 7. Parâmetros]

{#NChatServA-unsubFromUnreadMsgCnt_O__table_inp_hbm_cqb} {#NChatServA-unsubFromUnreadMsgCnt_O__table_jnp_hbm_cqb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 8. Retorna]

{#NChatServA-unsubFromUnreadMsgCnt_O__table_jnp_hbm_cqb}  
O exemplo a seguir mostra como assinar e cancelar a assinatura de um ouvinte de contagem de mensagens não lidas de bate-papo.

    private val unreadMessageCountListener = object: NowChatUnreadMessagesCountListener {
      override fun unreadMessagesCountDidChange(unreadMessageCount: Int) {
      }
    }

    fun setup() {
      nowChatService.subscribeToUnreadMessageCount(pollingInterval:1000, unreadMessageCountListener)
    }

    fun teardown() {
      nowChatService.unsubscribeFromUnreadMessageCount(unreadMessageCountListener)
    }


