Saltar al contenido principal

Cerrar sesión

Driver App muestra un control logout en Profile. Al seleccionarlo, puede iniciar una comprobación de pedidos activos, una solicitud de cierre de sesión al servidor, la limpieza del token de notificaciones, la limpieza de la sesión local, el restablecimiento del estado de pedidos y una limpieza más amplia del almacenamiento.

Cerrar sesión puede afectar la sesión del servidor, el registro de notificaciones, los datos de sesión locales, el estado de los pedidos y el almacenamiento de la aplicación. Espera el resultado antes de volver a iniciar sesión o repetir la acción.

Disponibilidad​

El control aparece entre las acciones de Profile autenticado. La ruta Driver comprueba si se devolvió un pedido activo o asignado antes de solicitar el cierre de sesión. Si encuentra un pedido coincidente o gestiona un error de lectura, el flujo puede bloquearse con un estado de error.

Que aparezca logout no significa que la cuenta pueda cerrar sesión. El control del cliente, el control de la API, estado actual de pedidos, estrategia de sesión, estado de notificaciones, almacenamiento local y efectos posteriores son independientes.

Antes de comenzar​

  • Abre Profile y localiza logout.
  • Confirma que esté abierta la cuenta Driver correcta y sigue el proceso de cierre de sesión de tu organización.
  • No aceptes, rechaces, actualices ni completes un pedido para habilitar el cierre de sesión.
  • No borres datos de la aplicación, elimines sesiones, retires permisos de notificaciones ni deshabilites la conexión como solución alternativa.

Que la lista de pedidos parezca vacía no demuestra que el control de pedidos activos o el servidor permitan cerrar sesión.

Completar la tarea​

Para cerrar sesión:

  1. Confirma que esté visible la pantalla Profile autenticada.
  2. Identifica la fila y el icono logout.
  3. Selecciona logout una vez y espera a que termine la aplicación. No repitas la acción mientras esté cargando.

Al seleccionarlo, el cliente deshabilita las pulsaciones repetidas mientras trabaja, lee el estado de notificaciones almacenado, comprueba si hay pedidos activos y puede enviar al servidor una solicitud de cierre de sesión con información de notificaciones. Después de una respuesta del servidor sin errores, el flujo predeterminado solicita restablecer localmente la sesión y el estado de pedidos; luego, el contenedor Profile inicia una limpieza más amplia del almacenamiento.

Verificar el resultado​

Después de cerrar sesión, la aplicación puede volver a la pantalla sin sesión. Esto no confirma que hayan terminado todos los pasos de limpieza del servidor, las notificaciones o el dispositivo:

  • Si aparece un error o el resultado no está claro, consulta al responsable de la cuenta o la sesión antes de intentarlo de nuevo.

Estados y variaciones​

Posible estado después de una pulsación realSignificadoQué sigue sin demostrarse
Control de carga/deshabilitadoEl control del cliente o flujo de cierre de sesión está en curso.Qué etapa está activa o si se completará.
Error del control de pedidos activosFalló la lectura del control o no se pudo usar el resultado actual.Que el cierre de sesión no haya continuado por otra ruta de error.
Mensaje de pedido asignadoEl control del cliente encontró un pedido activo coincidente.La verdad completa del pedido en el servidor o qué acción lo resolvería.
Error de cierre de sesión del servidorLa API devolvió un error o falló la solicitud.El estado del token, disponibilidad, proveedor y efectos parciales del servidor.
Respuesta de éxito del cierre de sesiónLa respuesta principal de la API no contenía un error.La limpieza completa de notificaciones push, disponibilidad, registros, trabajos, sockets, sesiones y proveedores.
Restablecimiento de sesión localSe solicita quitar el usuario/token almacenados y valores locales de sesión relacionados.Que se haya completado el almacenamiento permanente o invalidación en el servidor.
Limpieza más amplia de almacenamientoLa aplicación solicita borrar datos y conservar valores de tutorial e idioma.El momento en que termina; en el asistente revisado no se espera a que finalice la eliminación de múltiples claves.
Navegación visible sin sesiónLa raíz reaccionó al estado de autenticación local.Limpieza del servidor, cierre remoto de sesión, eliminación del token push o ausencia de efectos tardíos.

El control de pedidos activos del cliente captura su propio error de lectura, pero puede no devolver una respuesta al llamador; ese llamador puede continuar con la solicitud de cierre de sesión. No supongas que todo error de esa lectura bloquea el cierre de sesión.

Solución de problemas​

Lo que vesQué comprobarRecuperación segura
Can't logout, You have assigned ordersEstado actual de la entrega o asignación activa y responsable del pedidoNo cambies un pedido solo para cerrar sesión. Pregunta al despachador o responsable del pedido cuál es el siguiente paso compatible.
Aparece un error del control o de lecturaConectividad, sesión y estado de lectura actual del pedidoNo pulses de nuevo. La ruta del error puede ser ambigua; escala solo con la hora y categoría del error, sin datos confidenciales.
logout permanece deshabilitado/cargandoEl control, la solicitud a la API o el estado del cliente aún no se resolvieron.No fuerces el borrado del almacenamiento ni repitas la acción; informa del estado visible.
Aparece un error después de la solicitud de cierre de sesiónEl servidor o cliente informó un fallo.Considera indeterminado el estado de la sesión y evita acciones de pedidos o sesiones hasta que lo verifique el responsable de la cuenta.
Aparece una pantalla sin sesión, pero las notificaciones o sesiones parecen activasLa navegación puede cambiar antes de que se verifique toda la limpieza local, del servidor o del proveedor.No inspecciones ni compartas tokens. Pide al responsable de sesiones/notificaciones que concilie el estado actual.
Profile sigue visible después de un éxito informadoLas transiciones de sesión local, pedidos, almacenamiento o raíz pueden haberse completado parcialmente.No vuelvas a cerrar sesión ni borres datos. Escala el caso.
Necesitas cerrar la sesión de otro dispositivoLogout no es el flujo de administración de sesiones.Usa Administrar las sesiones.

Guías relacionadas: Ver el perfil Driver · Entrega activa · Administrar las sesiones · Eliminar la cuenta