Entender los estados de permisos de ubicación
El código fuente de Customer App contiene controles relacionados con la ubicación y declaraciones nativas, pero eso no establece un único estado actual de permisos ni un mismo flujo en todas las plataformas. El permiso de ubicación, una coordenada recibida, una dirección y el resultado de un comercio son estados distintos.
:::warning La información de ubicación es privada
No incluyas direcciones, coordenadas, texto de búsqueda, registros de permisos, identificadores de dispositivo o cuenta, respuestas de proveedores, claves, capturas de pantalla ni detalles de configuración en documentación o diagnósticos.
:::
Mantener separadas las capas de responsabilidad
| Capa | Qué representa | Qué no demuestra |
|---|---|---|
| Declaración nativa | La compilación declara una finalidad o capacidad de ubicación | Que el artefacto instalado coincida, que el sistema operativo haya autorizado el acceso o que haya una solicitud actual |
| Autorización del sistema operativo | La decisión y el alcance actuales del sistema operativo | Consentimiento de la aplicación o del proveedor, una coordenada o disponibilidad duradera |
| Estado propio de la aplicación | Carga, inhabilitación, error, aviso, alternativa o caché | Que la decisión del sistema operativo no haya cambiado o que otra superficie coincida |
| Resultado de ubicación del dispositivo | Una coordenada devuelta a una función de retorno nativa | Propiedad de la dirección, precisión, vigencia o persistencia del permiso |
| Resultado de geocodificación inversa | Un proveedor tradujo una coordenada a datos de dirección | Que la dirección esté guardada, tenga cobertura de entrega o sean datos actuales confiables |
| Visualización de mapa o ubicación | Una capa del mapa o cámara usó una coordenada suministrada o guardada en caché | Que se haya solicitado explícitamente un permiso o aceptado una búsqueda de comercios |
| Ubicación guardada o del pedido | Estado de dirección administrado por las superficies de cuenta, pedido o carrito | Permiso del dispositivo, posición actual del dispositivo o disponibilidad del proveedor |
Las declaraciones nativas son distintas de la autorización durante la ejecución. Inspeccionar el código fuente tampoco demuestra que iOS y Android soliciten, denieguen, limiten, reintenten o regresen de Ajustes de la misma manera.
Acción explícita de ubicación
El formulario de dirección fijado define un control de ubicación explícito. Al activarlo, entra en estado de carga y delega en una función de retorno nativa para obtener la ubicación. Luego, una coordenada correcta puede pasar por un proveedor de geocodificación inversa antes de que el formulario reciba una candidata de dirección.
Si la función de ubicación nativa informa que se denegó el acceso, el formulario puede mostrar un mensaje de denegación. El control puede recordar esa denegación durante el tiempo en que permanece montado y mostrar el mensaje de nuevo sin realizar otra llamada nativa. Este es estado local de la aplicación, no una comprobación nueva de la autorización del sistema operativo.
El código fuente no define una acción de Ajustes específica para la ubicación ni un contrato completo, propiedad de la aplicación, para solicitar, comprobar o explicar el permiso. No prometas que aparecerá una solicitud, que se abrirán los Ajustes ni que un nuevo intento tendrá éxito.
Límites de los mapas y del descubrimiento pasivo
Otras superficies de descubrimiento fijadas pueden solicitar una coordenada al módulo de ubicación nativa al montarse o cuando cambia el estado de la ubicación para pedidos. El mapa también puede solicitar que su capa nativa muestre la ubicación del usuario y ofrecer un control para volver a centrarlo. Son acciones distintas de la acción explícita del formulario de dirección.
Que aparezca un control para volver a centrar no demuestra que haya una coordenada del dispositivo. Mostrar la ubicación del usuario, un aviso de que está lejos o una cámara desplazada tampoco demuestra que la aplicación haya solicitado deliberadamente permiso, que la autorización siga vigente ni que se haya guardado una ubicación.
Estados denegados, no disponibles y desconocidos
| Estado | Interpretación segura |
|---|---|
| Control inactivo | No se ha establecido una acción actual. |
| Carga | Hay una función nativa o un resultado del proveedor pendiente; no se ha demostrado la autorización. |
| Función de retorno denegada | Un intento nativo informó que se denegó; el alcance del sistema operativo y la elegibilidad futura siguen bajo control de la plataforma. |
| Aplicación inhabilitada localmente | Este control montado no inicia otro intento nativo; el estado del sistema operativo puede ser distinto. |
| Error nativo | La ubicación falló por un motivo de plataforma no especificado. |
| Error del proveedor o sin resultado | La geocodificación inversa no produjo una candidata de dirección aceptada. |
| Se devolvió una coordenada | Una función de retorno produjo datos de ubicación; la dirección y la persistencia siguen pendientes. |
| Cambió el ciclo de vida de la aplicación | Las funciones de retorno anteriores y el estado en caché pueden estar obsoletos. |
| Cambió la cuenta, el proyecto o la sesión | Las coordenadas, los proveedores y las respuestas anteriores no deben cruzar generaciones de propiedad. |
No actives repetidamente la ubicación, abras Ajustes, alternes la autorización ni muevas el mapa para diagnosticar un resultado desconocido. Usa una alternativa manual o de dirección guardada cuando la superficie actual la ofrezca y conserva como desconocido cualquier estado sin resolver.
Límite de minimización de datos y proveedores
La ubicación puede pasar por varios destinos independientes: el módulo de ubicación nativa, el SDK de mapas, el geocodificador, el autocompletado o la búsqueda de comercios. Un flujo aceptado debe aclarar cada destino y finalidad, reducir al mínimo la precisión de las coordenadas y los datos de consulta, evitar solicitudes pasivas o duplicadas, ocultar datos identificables en la telemetría y rechazar funciones de retorno obsoletas tras cambios de cuenta, proyecto, sesión, permiso, consentimiento o superficie.
Una coordenada, respuesta de proveedor, dirección mostrada, resultado de mapa o navegación correcta no demuestran consentimiento para el proveedor, propiedad de la dirección, cobertura, estado guardado ni confirmación del carrito.
Accesibilidad y solución segura de problemas
Los controles de ubicación y sus mensajes pueden variar según la plataforma y la versión de la app. Si la ubicación no está disponible, comprueba los permisos del dispositivo o elige una ubicación manual cuando esa alternativa aparezca. También puedes usar VoiceOver o TalkBack según las opciones de accesibilidad de tu dispositivo.
Si la ubicación sigue sin estar disponible, revisa los permisos del dispositivo y la conexión. Evita compartir tu dirección o coordenadas al pedir ayuda; basta con indicar que la función de ubicación no está disponible.
Guías relacionadas: Entender los estados de selección de ubicación · Añadir o editar una dirección · Entender los estados de descubrimiento en el mapa · Comportamiento de la plataforma y accesibilidad · Privacidad y consentimiento