Saltar al contenido principal

Usar la aplicación sin conexión y volver a conectarse

Customer App puede mostrar estados de carga, conexión, no disponible, obsoleto o reconexión. Describen partes distintas de la experiencia; una señal de conexión no demuestra que se hayan actualizado el servicio, los datos, la transmisión en tiempo real ni una acción anterior.

No se garantiza la recuperación

Customer App no establece una recuperación automática, reintento seguro, acción exactamente una vez ni contrato de datos actuales único para todas las pantallas. Que se reconecte, recargue o reinicie la aplicación, vuelva a aparecer una pantalla o indique que hay conexión en tiempo real no demuestra que una acción anterior de cuenta, carrito, pedido, pago o mensaje haya fallado o terminado.

Separar las capas de conexión​

CapaQué te puede indicarQué no demuestra
Señal de conexión del dispositivoEl dispositivo informa que una interfaz de red está conectada o desconectadaQue se pueda acceder a Internet o a un servicio de Ordering.co
Accesibilidad de Internet y serviciosUn servicio requerido puede responder en ese momentoQue la respuesta corresponda al último estado de cliente/cuenta/proyecto
Datos de pantallaLa pantalla actual está cargando, disponible, vacía, no disponible, con error o con información conservadaQue la información conservada esté actualizada ni que se haya completado una escritura
Conexión en tiempo realUn canal en tiempo real informa que se está conectando, conectado o desconectadoQue se hayan reproducido todos los eventos perdidos ni que los datos mostrados estén actualizados
Actualización de una operaciónOrdering.co devuelve el resultado autorizado para una operación y contexto exactosQue un error de conexión signifique que no hubo efectos del servidor o proveedor

Trata cada capa por separado. Que diga “Conectado” no sustituye datos actuales ni el resultado autorizado de una operación.

Estados que puedes ver​

Estado observableInterpretación segura
Carga antes de que aparezca una pantalla para clientesNo se han resuelto el inicio, configuración, sesión, contexto del pedido u otra dependencia; no se confirma ninguna acción del cliente
Pantalla sin conexiónEl estado de navegación actual recibió una señal de desconexión; el resultado exacto de servicio/datos sigue siendo independiente
Sigue visible la pantalla actualLa ruta puede seguir montada aunque cambie la conexión; la información puede estar obsoleta
Contenido vacío o no disponibleLa lectura actual no produjo contenido utilizable; no identifica si se debe a conexión, autorización, configuración o estado del recurso
El estado en tiempo real indica conectando/desconectadoEl canal de eventos no figura conectado en ese momento; no se han verificado los datos perdidos ni la limpieza de salas/listeners
El estado en tiempo real indica conectadoEl canal se conectó en un momento dado; no demuestra el historial completo de eventos ni los datos actuales de la pantalla
Se perdió la respuesta de una acciónEl resultado es desconocido hasta que se concilie la misma operación autorizada

Una pantalla dedicada a la conexión es condicional. No es una superposición o barrera universal para todas las pantallas montadas de clientes.

Límites de reinicio y reintento​

Algunos controles de conexión actuales solicitan reiniciar toda la aplicación. Reiniciarla no es reintentar una lectura o acción específica; tampoco demuestra que se haya cancelado, revertido o completado el trabajo en curso.

No uses reinicio, actualización, volver al primer plano, Atrás, cambio de cuenta/proyecto ni toques repetidos para probar un resultado incierto. Para un resultado incierto, solo son seguras estas distinciones:

  • Actualización de solo lectura: puede solicitar datos autorizados actuales sin cambiar el estado del producto;
  • Operación reanudable: continúa una operación idempotente existente usando su recibo autorizado; o
  • No reintentar automáticamente: pago, realización de pedido, envío de mensaje, modificación de cuenta/sesión, paso a proveedor u otra acción con consecuencias sin un contrato de operación probado.

La aplicación no establece esta clasificación para todas las pantallas.

Una respuesta perdida significa resultado desconocido​

Si cambia la conexión después de solicitar una acción, el error o respuesta ausente no demuestra que no haya ocurrido ningún efecto. Mientras la superficie responsable concilia el estado autorizado, conserva sin cambios el contexto exacto de cuenta, proyecto, carrito, pedido, importe, conversación u operación.

No repitas la acción hasta que la aplicación muestre un resultado final compatible. Para el pago, sigue Guía sobre el estado y los reintentos del pago.

Opciones persistidas y cambios de cuenta​

Algunas opciones pueden existir en el almacenamiento local, estado de la aplicación, estado de Ordering.co o en más de una capa. Volver a conectarse puede revelar discrepancias entre las capas; no garantiza que prevalezca una copia ni que sea segura una escritura retrasada.

Cerrar sesión, iniciar sesión, cambiar de cuenta o proyecto, reinstalar la aplicación o borrar el almacenamiento local puede cambiar el propietario de los datos en caché y el trabajo pendiente. Las respuestas antiguas, eventos en tiempo real, salas, listeners, funciones de retorno de proveedores y opciones guardadas no deben actualizar el contexto nuevo. Customer App no establece esa limpieza para todos los recorridos actuales.

Límite de limpieza en tiempo real​

Los clientes en tiempo real pueden poner en cola trabajo de salas, listeners, salida o reconexión mientras hay una desconexión. Reconectarse no demuestra que se haya vencido, eliminado duplicados o limpiado ese trabajo después de desmontar, cerrar sesión, cambiar de cuenta/proyecto o abrir una nueva conexión.

No interpretes reconectarse como prueba de que:

  • todas las salas necesarias estén actualizadas y se haya salido correctamente de todas las antiguas;
  • cada listener exista una sola vez;
  • se hayan entregado todos los eventos perdidos;
  • una cuenta anterior ya no pueda recibir actualizaciones; o
  • la pantalla actual esté sincronizada.

Qué hacer​

  1. Lee el mensaje actual exacto y mantén sin cambios la tarea actual.
  2. No supongas que la información conservada esté actualizada.
  3. Evita repetir cualquier acción que pueda cambiar una cuenta, carrito, pedido, pago, mensaje, reseña, favorito, dirección o estado del proveedor.
  4. Espera a que la pantalla responsable muestre un resultado disponible, no disponible, fallido, completado o aún desconocido.
  5. Usa navegación confiable dentro de la aplicación para revisar el estado actual; no reutilices un enlace, función de retorno, notificación o identificador privado.

Solucionar problemas de forma segura​

La aplicación muestra una pantalla de conexión​

No pulses Reiniciar/Actualizar solo para averiguar el resultado de la última acción. Si no hay una acción con consecuencias pendiente, usa únicamente el mecanismo de recuperación compatible visible y luego comprueba los datos del destino por separado.

La aplicación parece conectada, pero los datos no cambiaron​

Un indicador de red o tiempo real no establece que los datos estén actualizados. Mantén el estado actual y usa la actualización de solo lectura o la ruta de estado de la pantalla cuando esté disponible explícitamente.

Cambió la conexión durante el pago, cobro o realización​

Considera desconocido el resultado. No realices el pedido, pagues, confirmes, reabras un proveedor ni cambies de método para probar. Concilia la operación existente según sus instrucciones responsables.

No hubo respuesta al mensaje o cambio de cuenta​

No vuelvas a enviar automáticamente. Revisa el hilo o estado actual de cuenta mediante navegación confiable sin copiar contenido privado en notas de soporte.

El tiempo real se conecta y desconecta repetidamente​

No infieras que se hayan recuperado eventos perdidos. Registra solo la clase de pantalla/estado sin valores y la hora aproximada; mantén privados los identificadores de cuenta, pedido, mensaje, ubicación, socket y proveedor.

Cambia el estado después de cerrar sesión, iniciar sesión o cambiar de proyecto​

Detente. Los datos en caché o funciones de retorno tardías pueden pertenecer a otro ciclo de vida. No continúes hasta que se establezcan claramente la cuenta/proyecto actuales y la pantalla responsable.

Accesibilidad​

Los estados de conexión, carga, obsoleto, no disponible, tiempo real y operación desconocida deben comunicarse con texto y estado semántico, no solo con color o animación. Los lectores de pantalla necesitan un aviso conciso, un control de recuperación etiquetado y una ruta segura para volver. Reiniciar/actualizar no debe ser la única forma de salir de un error y el texto grande no debe ocultar el mensaje ni la acción.

Estos límites de accesibilidad no establecen que todos los estados actuales ya los cumplan.


Referencias relacionadas: Descripción general de Customer App · Inicio, conexión y estados de actualización · Comportamiento de navegación de Customer App · Configuración de la cuenta · Guía sobre el estado y los reintentos del pago