es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo se determina cuándo solicitar los permisos de ubicación del usuario en Safari en iOS?

Cuando se utiliza la API geolocation.getCurrentPosition en dispositivos móviles, probado en iOS en este momento, a los usuarios se les solicita más de una vez durante una sesión dependiendo de la página. En comparación con un sitio de escritorio, como Chrome en Windows 10, donde una vez que un usuario selecciona Permitir, ya no se le solicitarán permisos a menos que se desactiven explícitamente. Parece que Safari en iOS se basa en la sesión y luego posiblemente en la página dentro de la sesión.

¿Alguien sabe si Apple ha definido reglas explícitas para esta verificación de permisos? También ¿el parámetro maximumAge afecta con qué frecuencia el usuario es solicitado?

  const LOCATION_OPTIONS = {
   timeout: 15000,
   enableHighAccuracy: true,
   maximumAge: 86400000,
  };

useEffect(() => {
const { geolocation } = navigator;

// Si la geolocalización no está definida en el navegador utilizado, lo tratamos como un error
if (!geolocation) {
setError(“La geolocalización no está soportada.”);
return;
}

// Llama a la API de Geolocalización
geolocation.getCurrentPosition(handleSuccess, handleError, options);
}, [options]);

return { location, error };

Ejemplo de código en NextJS CodeSandbox
https://u11vn.sse.codesandbox.io/

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solicitudes de permiso de geolocalización en iOS Safari

    Cuando se utiliza la API geolocation.getCurrentPosition en dispositivos móviles, especialmente en iOS Safari, los usuarios a menudo reciben múltiples solicitudes en una sesión, dependiendo de la página. En cambio, los sitios de escritorio como Chrome en Windows 10 solo solicitan al usuario permitir la geolocalización una vez, a menos que se desactive explícitamente.

    Parece probable que iOS Safari implemente los permisos de geolocalización tanto en un enfoque basado en sesiones como en un enfoque basado en páginas. Sin embargo, no está claro si Apple ha definido reglas explícitas para este comportamiento.

    También es incierto si el parámetro maximumAge afecta la frecuencia de las solicitudes de permiso de geolocalización, ya que no hay información disponible sobre este tema.

    Se puede encontrar un ejemplo de código que utiliza la API geolocation.getCurrentPosition en un CodeSandbox de NextJS en https://u11vn.sse.codesandbox.io/.

Comments are closed.