Implementar bate-papo virtual e Atendente

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