Configuração básica para testar o SDK para dispositivos móveis
Conforme você integra o chat do Digital Experience (Digital) ao seu aplicativo móvel, talvez precise testar certos recursos ou funcionalidades. Esta página explica a configuração mínima necessária para permitir que você comece a testar. Algumas das tarefas desta página exigem uma conta de administrador no CXone Mpower. Se você não tiver uma conta de administrador, talvez seja necessário trabalhar com seu gerente ou representante da CXone Mpower.
O acesso ao CXone Mpower é controlado por funções. As funções têm permissões individuais que permitem aos usuários acessar aplicativos como aplicativo de agente ou criar e gerenciar coisas como um canal de chat.
Pré-requisitos
-
Baixe o pacote SDK do seu plataforma desejado (Android
e iOS
).
-
Adicione dependências para as coordenadas maven. Isso é explicado nos arquivos README do repositório.
-
Você ou um administrador deve ter acesso ao CXone Mpower:
-
Uma conta de agente no CXone Mpower com as seguintes permissões do ACD:
Ver permissões
A seguir estão listadas as permissões mínimas para um agente lidar com interações digitais. Você pode ativar permissões adicionais, se necessário.
Permissões de agente:
-
Iniciar Max ou Iniciar Agent dependendo de qual aplicativo de agente sua organização usa
-
Módulo CRM
Permissões do Digital Engagement:
-
Módulo de Assistência
-
Módulo CRM
-
-
Um administrador do CXone Mpower deve ter as seguintes permissões ACD:
Ver permissões
A seguir estão listadas as permissões mínimas para um administrador. Você pode ativar permissões adicionais, se necessário. Por exemplo, você deve ativar a permissão Pesquisas de Satisfação para configurar pesquisas de satisfação.
Permissões do Digital Engagement:
-
Módulo de configurações
-
Configurações de usuário e função
-
Configurações de canais
-
Configurações de campos personalizados
-
Configurações de agentes
-
Filas de roteamento inteligentes
Permissões de configurações de contato:
-
Competências: Ver, Atribuição de Usuário, Editar, Criar
Permissões do Studio:
-
Scripts do Studio: Criar/Editar
-
-
-
Identifique sua região de implantação do CXone Mpower e forneça o código do ambiente ao desenvolvedor. Entre em contato com o seu Representante de contas para maiores informações.
Configuração do CXone Mpower
Essas etapas devem ser executadas no CXone Mpower com uma conta de administrador.
-
Encontre o channelId e o brandId para seu canal de mensagens de chat.
-
No CXone Mpower, clique no seletor de aplicativos
e selecioneACD.
-
Vá para Digital > Pontos de Contato Digital > Chat > localize seu canal de chat > Inicialização e teste.
-
Pouco antes da tag de fechamento do script, localize a declaração cxone, que se parece com esta: cxone('chat', 'init', 1132, 'chat_6fed4507-8cf3-443a-87a5-820981d1752b');.
-
Salve o número de quatro dígitos, que é o seu brandId.
-
Salve a sequência alfanumérica mais longa, que é o seu channelId.
-
Forneça esses IDs ao seu desenvolvedor.
-
Introdução completa
Essas etapas são executadas pelo desenvolvedor.
-
Trabalhe no conteúdo de introdução referente à plataforma em que você está desenvolvendo. Os arquivos README do repositório (Android
iOS
) contém essas informações de introdução. Eles ajudam você a configurar as dependências necessárias e a sincronizar o SDK com seu editor de código. Você pode pular certas seções da introdução, dependendo de suas necessidades. Por exemplo, você pode pular a configuração de quaisquer recursos avançados, como OAuth ou notificações por push.
-
Inicialize a instância de chat:
-
Android: Use Chatbuilder para fornecer a região, brandId e channelId do seu ambiente. Você também deve chamar connect() na instância de chat.
Exibir exemplo de código do Android
val config = SocketFactoryConfiguration( CXOneEnvironment.YourRegion, yourBrandId, yourChannelId ) val myChatStateListener = object : ChatStateListener() { override fun onReady() { // TO DO - Chat instance is ready for usage by end-user, use chat instance for chat } } cancellable = ChatBuilder(context, config) .setDevelopmentMode(BuildConfig.DEBUG) .setAuthorization(yourAuthorization) // only for OAuth .setUserName("firstName", "lastName") // only for OAuth .setChatStateListener(myChatStateListener) // notifies the app when the WebSocket is connected .build { chat -> // Chat instance will be delivered in this callback once connection is established // TO DO save chat instance }
Se a conexão não foi bem-sucedida e build não retornou a instância de chat, verifique sua configuração. O servidor pode ter rejeitado sua solicitação. Consulte ChatBuilder.OnChatBuiltCallback.
O método build cria de forma assíncrona uma instância de chat, que já está conectada ao back-end. Em caso de erro de conexão, o criador agenda uma nova tentativa de conexão. Você pode cancelar este processo de acordo com seus requisitos pela instância do Cancellable. Isso retorna da chamada do método build.
A instância de chat mantém uma conexão de socket aberta com o back-end até chat.close() ser chamado ou o processo do aplicativo ser finalizado. Seu aplicativo deve encerrar o chat quando o usuário sair.
O WebSocket deve ser executado apenas quando necessário. Chame ChatBuilder somente para conversas de chat ativas e fins de análise.
-
iOS: Use connect() para fornecer a região, brandId e channelId do seu ambiente.
Exibir exemplo de código do iOS
try await CXoneChat.shared.connection.connect( chatURL: configuration.chatUrl, socketURL: configuration.socketUrl, brandId: configuration.brandId, channelId: configuration.channelId)
A classe principal para o SDK para dispositivos móveis no iOS é CXoneChat.
O WebSocket deve ser executado apenas quando necessário. Chame connect() somente para conversas de chat ativas e fins de análise.
Registre onError(_ error:) para poder lidar com erros que ocorrem durante o processo de carregamento da conversa. Leve em consideração que quando não há conversas para carregar, o SDK retorna RecoveringThreadFailed, que é um erro de software.
-
-
Configure o registro em log para visualizar quaisquer erros relatados.
O SDK do Android fornece uma estrutura de logger que força o SDK a registrar erros no Logcat. Você também pode usar o logger Android padrão. Eles são configurados com ChatBuilder.
O SDK do iOS tem a classe LogManager para facilitar o registro em log. Você também pode consultar CXoneChatError para visualizar todos os erros que pode receber.
- Configure o manuseio de single-thread
Em um aplicativo de conversa única, cada contato pode ter apenas uma conversa de chat. Qualquer interação que eles tenham com sua organização ocorre nessa conversa de chat. ou multi-thread
Se seu aplicativo for para várias conversas, seus contatos poderão criar quantas conversas desejarem para discutir novos tópicos. Essas conversas podem estar ativas ao mesmo tempo.. Uma configuração single-thread pode ser mais simples para fins de teste. Não deixe de conferir os estudos de caso single-thread nos repositórios de SDK do Android e do iOS.
Dicas de teste
Android
Lembre-se do seguinte:
-
Siga os estudos de caso de single-thread ou multi-thread e tente replicar o envio de uma mensagem simples. Para multi-thread, tente também criar uma conversa secundária e enviar uma mensagem simples para ver se a conversa é atualizada com a nova mensagem.
-
Se necessário, você pode pular a implementação de uma IU e se concentrar em testar a troca de mensagens.
-
ChatStateListener informa o aplicativo sobre quaisquer exceções de tempo de execução, erros ou mudanças de estado. Você pode consultar CXOneException.kt e ChatStateListener.kt para obter mais informações. Certifique-se de testar exceções ou erros.
-
Algumas exceções ou erros podem resultar de algo sob seu controle, como AuthorizationError ou ServerCommunicationError. No entanto, exceções como InvalidStateException ou InvalidParameterException indicam um erro da sua parte.
iOS
-
Siga os estudos de caso de single-thread ou multi-thread e tente replicar o envio de uma mensagem simples. Para multi-thread, tente também criar uma conversa secundária e enviar uma mensagem simples para ver se a conversa é atualizada com a nova mensagem.
-
Se necessário, você pode pular a implementação de uma IU e se concentrar em testar a troca de mensagens.