Contrato de notificaciones de Driver App
Las notificaciones de Driver abarcan la configuración del proveedor, permisos del SO, suscripción del dispositivo, estado local del token, registro de API, push remoto, cargas abiertas, superposiciones de EventContext, navegación, sonido, vibración y alarmas nativas. Estas vías pueden resolverse independientemente y ninguna constituye un recibo de pedido o asignación.
Disponibilidad
| Superficie | Límite público actual |
|---|---|
| Configuración del proveedor | Condicionada al estado autenticado y a la identidad de la aplicación Driver configurada para notificaciones |
| Permiso | El aviso/estado del dispositivo del SO/proveedor difiere de la suscripción y entrega |
| Token | El identificador de suscripción/dispositivo del proveedor se puede guardar localmente y enviar al contrato autenticado de tokens |
| Push abierto | Los formatos de carga compatibles pueden elegir una intención de navegación a detalles normales o de logística |
| Carga de grupo | La aplicación la limpia sin navegar |
| Superposición de eventos | Orders montado puede mostrar textos locales de mensaje/pedido/solicitud desde EventContext |
| Sonido y vibración | La superposición puede activar temporizadores, vibración y reproducción remota/nativa mientras está activa |
| Alarma Android | Las rutas nativas pueden cambiar el volumen de alarma y quizá no restauren automáticamente el valor previo |
Requisitos previos
- Exige una sesión Driver autenticada y configuración pública válida; nunca incluyas identificadores ni credenciales de proveedores en el código de la app o ejemplos compartidos.
- Trata el permiso, suscripción, observación del token, almacenamiento local, registro en API, entrega del proveedor, callback de apertura, superposición y navegación como estados distintos.
- Valida la identidad, autorización, vigencia y destino compatible de la carga antes de navegar o actuar sobre un pedido.
- Usa una cuenta no productiva y un proveedor de pruebas para flujos que publiquen ubicación, cambien asignaciones o estados de pedidos, envíen mensajes o registren tokens.
Límites de responsabilidad
| Responsable | Responsabilidad |
|---|---|
| Configuración de notificaciones Root | Inicialización condicional del proveedor, estado de permisos/dispositivo, token local, intención de registro y rutas de apertura |
| Contrato de token de API | Autenticar, validar y asociar el token con el usuario/contexto de aplicación permitido |
| Proveedor push | Transporte de suscripción y entrega; no autorización ni finalización comercial |
| EventContext/superposición | Elegir la presentación local a partir de eventos suscritos en la App y limpiar el estado local |
| Navegación | Resolver solo destinos compatibles; la superficie de destino es responsable de obtener datos recientes y autorizados |
| Medios SO/nativos | Permisos, ciclo de vida, vibración, sonido, categoría/volumen de alarma y limpieza |
| Responsables de pedidos/asignación/mensajes | Decidir el estado autoritativo; nunca delegarlo a una notificación |
Entradas y resultados
Vía de proveedor y token
La configuración autenticada puede observar un identificador de suscripción/dispositivo del proveedor, guardar el estado local de notificación y enviar una asociación de token. Que el cliente termine de cargar no constituye un recibo de API. Un token registrado no demuestra permiso, suscripción, entrega del proveedor, integridad de la carga ni comportamiento de apertura.
Vía de apertura de push
Los campos de la carga distinguen el detalle de un pedido normal del detalle de una asignación de logística. Una carga de grupo no navega y se limpia el destino pendiente local después de evaluarse. La intención de navegación no demuestra que el destino exista, cargue datos recientes, autorice al Driver ni realice una acción de pedido.
Superposición de eventos y efectos nativos
Orders puede montar una superposición basada en EventContext. Algunas formas de evento pueden iniciar una ruta de publicación de ubicación antes de elegir la superposición. Mientras está activa, pueden ejecutarse sonido remoto/nativo, vibración, temporizadores o alarmas. Cerrar la superposición solo limpia la presentación local; no confirma, marca como leído, acepta, rechaza, asigna ni actualiza un pedido.
Seguridad y privacidad
- Nunca expongas ID de proveedores, tokens, credenciales, cargas privadas, identificadores de pedidos/asignaciones, ubicación, datos de contacto ni registros nativos en tickets o ejemplos compartidos.
- Autoriza y vuelve a leer el estado de destino después de navegar; no confíes en cargas push o socket como datos comerciales actuales.
- Vincula el registro de tokens con la identidad autenticada y la clase de aplicación aprobada; define revocación, rotación, cierre de sesión, varios dispositivos y tokens obsoletos.
- Valida el esquema de carga y descarta de forma segura destinos no compatibles o agrupados.
- Restaura el estado del dispositivo después de efectos de alerta nativos y prueba la limpieza en primer plano, segundo plano, interrupción, descarte y desmontaje.
- Trata la entrega del proveedor y la presentación nativa como transporte, no como consentimiento, autorización, asignación ni finalización.
Límites y estados de fallo
| Estado | Interpretación requerida |
|---|---|
| Proveedor configurado | Puede ejecutarse la configuración; no implica permiso/suscripción/entrega |
| Permiso aceptado | No implica registro del token ni entrega |
| Token observado localmente | No implica asociación autenticada con API |
| Termina la solicitud de registro | No demuestra persistencia exitosa sin recibo autoritativo |
| Push recibido/abierto | Evento de transporte no confiable hasta validarlo y volver a leer |
| Carga de grupo | No hay un destino de navegación actual |
| Superposición visible | Solo presentación local; no confirma vigencia del pedido/solicitud |
| Superposición cerrada | Se limpió el estado local; no hubo confirmación ni efecto de pedido |
| Se detiene el sonido | Se solicitó limpieza; no se demuestran liberación remota/nativa ni restauración de volumen |
| Se abre el destino | Solo navegación; los datos, la autorización y el resultado de una acción siguen siendo independientes |
Diagnóstico
Hay permisos de notificación, pero no llegan
La entrega depende de la configuración, la suscripción, la persistencia local, la asociación con la API, el proveedor, la presentación del sistema operativo y el ciclo de vida de la app. Usa un token de prueba y un proveedor sandbox al probar el registro; rotar un token activo puede interrumpir las notificaciones del dispositivo asociado.
Abrir una notificación no navega
Confirma que la carga corresponda a un destino compatible. Las cargas agrupadas actualmente se limpian sin navegar. Incluso para formatos compatibles, la autorización del destino y la carga de datos recientes son independientes.
La alerta de la App es visible sin un push correspondiente
Las superposiciones de EventContext y el push remoto son vías distintas. Que la superposición sea visible no demuestra que el proveedor haya recibido nada, que el pedido esté vigente ni que la asignación sea elegible.
El sonido o la alarma no se detiene
Detén la prueba y restaura los ajustes de sonido anteriores del dispositivo. El control de alarmas de Android puede cambiar el volumen y quizá no restaure automáticamente el valor previo.
Guías relacionadas: Ver avisos de nuevas entregas · Revisar permisos del dispositivo · Arquitectura de Driver App · Usar el contrato de inicio autenticado