Classe NowChatService - Android

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 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

    Inicia a intenção usada para abrir a atividade do NowChat. Normalmente usado para criar um [android.app.PENDINGIntent].

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    contexto Contexto Contexto usado para criar a intenção.
    coresdo tema Tema do NowChat Opcional. Cores do tema a serem usadas na IU do NowChat.

    Padrão: cores padrão

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

    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)

    Inicia a atividade do NowChat especificada.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    atividade Atividade 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 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.

    chatOpções NowChatOptions Opcional. Opções a serem aplicadas à sessão de bate-papo.
    Tabela 4. Retorna
    Tipo Descrição
    Nenhum(a)

    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)

    Assina o ouvinte da contagem de mensagens de bate-papo não lidas.

    Tabela 5. Parâmetros
    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).
    Tabela 6. Retorna
    Tipo Descrição
    Nenhum(a)

    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)

    Cancela a assinatura de recebimento da contagem de mensagens não lidas.

    Tabela 7. Parâmetros
    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 8. Retorna
    Tipo Descrição
    Nenhum(a)

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