Configuración básica para probar el SDK para móviles
A medida que integre el chat de Digital Experience (Digital) en su aplicación móvil, es posible que necesite probar determinadas características o funciones. En esta página se explica la configuración mínima necesaria para que pueda empezar a realizar pruebas. Algunas de las tareas de esta página requieren una cuenta de administrador en CXone Mpower. Si no dispone de una cuenta de administrador, es posible que tenga que ponerse en contacto con su gerente o con un representante de CXone Mpower.
El acceso a CXone Mpower está controlado por roles. Los roles tienen permisos individuales que permiten a los usuarios acceder a las aplicacións como una La aplicación del agente, o crear y gestionar elementos como un canal de chat.
Requisitos previos
-
Descargue el paquete de SDK para su Plataforma (Android
y iOS
) deseada.
-
Agregue dependencias para las coordenadas de Maven. Esto se explica en los archivos README del repositorio.
-
Usted o un administrador debe tener acceso a CXone Mpower:
-
Una cuenta de agente en CXone Mpower con los siguientes permisos de ACD:
Ver permisos
A continuación se listan los permisos mínimos para que un agente pueda manejar interacciones digitales. Puede habilitar permisos adicionales si es necesario.
Permisos de agente:
-
Iniciar MAX o Iniciar Agent dependiendo de la La aplicación del agente que utilice su organización
-
Módulo CRM
Permisos de Digital Engagement:
-
Módulo de cuidado
-
Módulo CRM
-
-
Una cuenta de administrador de CXone Mpower con los siguientes permisos ACD:
Ver permisos
A continuación se listan los permisos mínimos para un administrador. Puede habilitar permisos adicionales si es necesario. Por ejemplo, debe habilitar el permiso Encuestas de satisfacción para configurar las encuestas de satisfacción.
Permisos de Digital Engagement:
-
Módulo de ajustes
-
Ajustes de Usuario y Rol
-
Ajustes de canal
-
Ajustes de campos personalizados
-
Ajustes de agente
-
Colas de enrutamiento inteligente
Permisos de configuración de contactos:
-
Habilidades: Ver, Asignación de usuario, Editar, Crear
Permisos de Studio:
-
Scripts de Studio: Crear/Editar
-
-
-
Identifique su región de implementación de CXone Mpower y proporcione el código de entorno a su desarrollador. Póngase en contacto con suRepresentante de cuenta para más información.
CXone Mpower Configuración
Estos pasos deben realizarse en CXone Mpower con una cuenta de administrador.
-
Busque el channelId y brandId para el canal de mensajería de chat que desee.
-
En CXone Mpower, haga clic en el selector de aplicaciones
y seleccioneACD.
-
Vaya a Digital > Puntos de contacto digital > Chat > encuentre su canal de chat > Inicialización y prueba.
-
Justo antes de la etiqueta de cierre del script, encuentre la declaración de cxone, que tiene este aspecto: cxone('chat', 'init', 1132, 'chat_6fed4507-8cf3-443a-87a5-820981d1752b');.
-
Guarde el número de cuatro dígitos, que es su brandId.
-
Guarde la cadena alfanumérica más larga, que es su channelId.
-
Proporcione estos ID a su desarrollador.
-
Completar el inicio rápido
Estos pasos los realiza el desarrollador.
-
Revise el contenido de inicio rápido para la Plataforma en la que está desarrollando. Los archivos README del repositorio (Android
iOS
) contienen esta información de inicio rápido. Lo ayudarán a configurar las dependencias necesarias y a sincronizar el SDK con su editor de código. Puede omitir ciertas secciones de la introducción, dependiendo de sus necesidades. Por ejemplo, puede omitir la configuración de funciones avanzadas como OAuth o las notificaciones push.
-
Inicialice la instancia de chat:
-
Android: Use Chatbuilder para proporcionar su región de entorno, brandId, y channelId. También debe llamar a connect() en la instancia de chat.
Ver ejemplo de código para 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 }
Si la conexión no ha tenido éxito y build no ha devuelto la instancia de chat, verifique su configuración. El servidor puede haber rechazado su solicitud. Consultar ChatBuilder.OnChatBuiltCallback.
El método build crea de forma asincrónica una instancia del chat, que ya está conectada al backend. En caso de error de conexión, el generador programa un intento de reintento de conexión. Puede cancelar este proceso según sus necesidades a través de la instancia Cancellable. Esto regresa de la llamada del método build.
La instancia de chat mantiene una conexión de socket abierta con el backend hasta que se llama a chat.close() o finaliza el proceso de la aplicación. Su aplicación debe cerrar el chat cuando el usuario sale.
El WebSocket sólo debe ejecutarse cuando sea necesario. Sólo se debe llamar ChatBuilder para conversaciones de chat activas y con fines analíticos.
-
iOS: Use connect() para proporcionar su región de entorno, brandId, y channelId.
Ver ejemplo de código para iOS
try await CXoneChat.shared.connection.connect( chatURL: configuration.chatUrl, socketURL: configuration.socketUrl, brandId: configuration.brandId, channelId: configuration.channelId)
La clase principal del SDK para móviles en iOS es CXoneChat.
El WebSocket sólo debe ejecutarse cuando sea necesario. Sólo se debe llamar connect() para conversaciones de chat activas y con fines analíticos.
Registre onError(_ error:) para poder manejar errores que ocurran durante el proceso de carga de hilos. Cuando no hay hilos para cargar, el SDK devuelve RecoveringThreadFailed que es un error leve.
-
-
Configure el registro para ver los errores notificados.
El SDK para Android proporciona un marco de registro que fuerza al SDK a registrar en Logcat. También puede utilizar el registro de Android predeterminado. Estos se configuran con ChatBuilder.
El SDK para iOS tiene la clase LogManager para facilitar el registro. También puede consultar CXoneChatError para ver todos los errores que pueda recibir.
- Configure el manejo de un solo hilo
En una aplicación de un solo hilo, cada contacto puede tener solo un hilo de chat. Cualquier interacción que tengan con su organización tiene lugar en ese único hilo de chat. o de múltiples hilos
En una aplicación de subprocesos múltiples, los contactos pueden crear tantos subprocesos como deseen para discutir nuevos temas. Estos hilos pueden estar activos al mismo tiempo.. Una configuración de un solo hilo puede ser más simple para propósitos de prueba. Asegúrese de revisar los casos prácticos de un solo hilo en ambos repositorios del SDK para Android y iOS.
Sugerencias para las pruebas
Android
Tenga en cuenta lo siguiente:
-
Siga los casos prácticos de un solo hilo o de múltiples hilos e intente reproducir el envío de un mensaje sencillo. Para múltiples hilos, intente crear también un hilo secundario y envíe un mensaje simple para ver si el hilo se actualiza con el nuevo mensaje.
-
Si es necesario, puede omitir la implementación de una interfaz de usuario y enfocarse en probar el intercambio de mensajes.
-
ChatStateListener le informa a la aplicación sobre cualquier excepción en tiempo de ejecución, errores o cambios de estado. Puede consultar CXOneException.kt y ChatStateListener.kt para ver más información. Asegúrese de probar cualquier excepción o error.
-
Algunas excepciones o errores pueden ser el resultado de algo bajo su control como AuthorizationError o ServerCommunicationError. Sin embargo, las excepciones como InvalidStateException o InvalidParameterException indican un error por su parte.
iOS
-
Siga los casos prácticos de un solo hilo o de múltiples hilos e intente reproducir el envío de un mensaje sencillo. Para múltiples hilos, intente crear también un hilo secundario y envíe un mensaje simple para ver si el hilo se actualiza con el nuevo mensaje.
-
Si es necesario, puede omitir la implementación de una interfaz de usuario y enfocarse en probar el intercambio de mensajes.