Saltar al contenido
WebViewGold Del vibe coding a la App Store
Español
Consigue WebViewGold

Rechazo en Google Play

Ubicación en segundo plano rechazada en Google Play: cumple los requisitos con una declaración o pasa a la ubicación en primer plano

La mayoría de las apps web que piden la ubicación solo la necesitan mientras el usuario está mirando la pantalla. Si la tuya es una de ellas, la solución es quitar la ubicación en segundo plano de la compilación, no discutir con Google. Si el seguimiento con la app cerrada es de verdad tu función principal, esta guía muestra lo que deben mostrar la declaración, la divulgación y el vídeo de 30 segundos.

Desde $109 de pago único por plataforma, o deja que nuestro equipo lo haga todo desde $698.

  • Garantía de aprobación – o te devolvemos el dinero en 14 días
  • Sin programar
  • Pago único, actualizaciones gratuitas
  • Soporte humano 24/7
  • Hecho en Alemania desde 2014 · ISO 27001

Qué permite la política de ubicación en segundo plano

Ubicación en segundo plano significa que tu app recibe la ubicación mientras no está visible: la pantalla está apagada, hay otra app abierta o el usuario ha cerrado tu app deslizándola. Google solo la permite cuando forma parte de la funcionalidad principal de la app, es decir, cuando la app no funcionaría sin ella, y cuando aporta al usuario un beneficio claro como la seguridad, la salud y el fitness, o una tarea que el usuario está realizando activamente. La comodidad, la personalización, la analítica y los anuncios no cuentan, y las solicitudes hechas solo para anuncios o analítica se deniegan. El usuario tiene que esperar razonablemente ese seguimiento, y la misma experiencia no debe ser posible en primer plano.

Las apps que la conservan rellenan una declaración en la Play Console (App content → Sensitive app permissions → Location permissions, es decir, Contenido de la aplicación → Permisos sensibles de la aplicación → Permisos de ubicación). Esa declaración nombra una sola función basada en la ubicación, explica por qué esa función necesita el acceso en segundo plano y enlaza un vídeo de 30 segundos o menos. También necesitas una divulgación destacada dentro de la app antes de la solicitud de permiso, y el revisor tiene que poder llegar a la función. Los detalles están en la página de ayuda de Google sobre la ubicación en segundo plano.

Cómo se redacta el rechazo

O bien la Play Console bloquea la versión hasta que la declaración de ubicación esté completa, o bien se rechaza la propia declaración. Los motivos que enumera Google coinciden con lo que ven los revisores en las apps empaquetadas: la función no está clara o se declaró más de una, no se pudo verificar la función (a menudo por culpa del login), falta la divulgación o está incompleta, la política de privacidad no menciona la ubicación en segundo plano, o la función simplemente no cumple los requisitos. Cuando el permiso no hace falta, el aviso te pide que lo quites de todos los canales, incluidas las pruebas cerradas y abiertas.

¿Tu función necesita de verdad la ubicación en segundo plano?

FunciónVeredictoQué usar
Buscador de tiendas, lista "cerca de mí", botón de check-inSolo primer planoGeolocalización HTML5 mientras la pantalla está abierta
Cliente que sigue a un repartidor en un mapaSolo primer plano; Google cita el seguimiento de entregas desde el lado del cliente como un fallo típicoMapa en directo mientras la pantalla está abierta, push para los cambios de estado
Repartidor o técnico de campo que comparte su ubicación durante el turnoPuede cumplir los requisitos si es el núcleo de la appSeguimiento que el usuario inicia y detiene, con una notificación persistente
Grabar una carrera o una ruta en bici con la pantalla apagadaPuede cumplir los requisitos (fitness)Seguimiento que se inicia para el entrenamiento y se detiene al terminarlo
Alerta de seguridad cuando un familiar sale de una zonaPuede cumplir los requisitos (seguridad)Una única función claramente declarada, con divulgación
Noticias locales, tiempo u ofertas por regiónNo cumple los requisitosUbicación en primer plano o aproximada, o un selector de ciudad
Segmentación de anuncios, analítica, atribuciónNuncaElimínala

¡Una forma estupenda de convertir tu web app en una app nativa! Entrega rápida y una manera genial de llevar tus apps a las tiendas sin tener que desarrollar una app nativa completa.

Kevin Joling · FlightConnections & TrainConnections · Trustpilot

De dónde viene la ubicación en segundo plano en una app de WebViewGold

Los interruptores de Config.java

requireLocation activa la ubicación en general; requireBackgroundLocation añade el seguimiento en segundo plano en Android y solo tiene efecto cuando requireLocation es true. Consulta la documentación de geolocalización para Android.

Los bloques del manifiesto

El seguimiento en segundo plano también necesita el permiso FOREGROUND_SERVICE_LOCATION y el bloque GPSService en AndroidManifest.xml, que descomentas para activar la función. Si están activos, la Play Console ve un servicio de ubicación.

Los esquemas de URL

backgroundlocationon:// y backgroundlocationoff:// inician y detienen el seguimiento desde tu app web. Llamarlos desde una acción del usuario es lo que hace que el seguimiento lo inicie el usuario.

Bibliotecas

Una biblioteca de mapas, de analítica o de geovallas puede añadir ACCESS_BACKGROUND_LOCATION al manifiesto combinado sin avisarte. La pestaña Merged Manifest de Android Studio muestra cuál es.

Camino A: pasa a la ubicación en primer plano (la solución correcta para la mayoría de las apps)

Unos treinta minutos más el tiempo de revisión.

  1. Desactiva el interruptor de segundo plano

    Pon requireBackgroundLocation en false en Config.java. Deja requireLocation en true si tu app web usa la API de geolocalización mientras está abierta; ponlo también en false si la app no usa la ubicación en absoluto.

  2. Desactiva el servicio en el manifiesto

    Comenta (o elimina) el permiso FOREGROUND_SERVICE_LOCATION y el bloque GPSService en AndroidManifest.xml, y quita cualquier entrada ACCESS_BACKGROUND_LOCATION. Si la añade una biblioteca, elimínala con tools:node="remove" como se muestra en la guía de permisos.

  3. Quita las llamadas y las promesas

    Borra las llamadas a backgroundlocationon:// de tu app web y cualquier texto de la app o de la ficha de la tienda que prometa seguimiento con la app cerrada.

  4. Pregunta en contexto

    Pide la ubicación desde la pantalla de la función tras una breve explicación, como se describe en la guía de divulgación destacada. La ubicación en primer plano de la API HTML5 sigue funcionando exactamente igual que antes mientras la app está abierta.

  5. Recompila y sustituye todos los canales

    Genera un bundle nuevo con un version code más alto en Android Studio o en el Cloud Builder, confirma en el App bundle explorer (Explorador de app bundles) que el permiso de segundo plano ha desaparecido y sustituye también las compilaciones antiguas en los canales de pruebas internas, cerradas y abiertas.

  6. Actualiza la declaración

    Si la Play Console sigue mostrando la declaración de permisos de ubicación, actualízala para indicar que la app ya no accede a la ubicación en segundo plano y después envía los cambios a revisión.

Camino B: conserva la ubicación en segundo plano y consigue que la aprueben

Solo cuando el seguimiento con la app cerrada es la razón de ser de tu app. Todo lo siguiente tiene que cumplirse a la vez.

  • Una función con un nombre claro. "Seguimiento del turno para repartidores", no "funciones de ubicación". Declarar varias funciones lleva a un rechazo.
  • Iniciado por el usuario. El usuario toca Iniciar (tu app web llama a backgroundlocationon://) y Detener (backgroundlocationoff://). El seguimiento nunca empieza en silencio.
  • Una divulgación destacada antes de la solicitud de ubicación, que contenga la palabra ubicación, una frase como "cuando la app está cerrada o no se está usando", cada función que la usa y si los datos se usan para anuncios.
  • Un vídeo de 30 segundos o menos (un enlace de YouTube no listado funciona bien) que muestre la divulgación, la solicitud de permiso en tiempo de ejecución y la función funcionando con la app en segundo plano.
  • Acceso para el revisor: una cuenta demo en Datos de inicio de sesión que llegue directamente a la función; consulta la guía de datos de inicio de sesión.
  • Documentación coherente: la política de privacidad y el formulario Data safety declaran la ubicación precisa recopilada en segundo plano, y la descripción de la tienda menciona la función.
  • La declaración de servicio en primer plano para el tipo location también, porque el bloque GPSService se ejecuta como servicio de ubicación en primer plano; consulta la guía de servicios en primer plano.

Plantilla: el texto de la declaración para una función que cumple los requisitos

Una función, un propósito, el usuario al mando. Sustituye el ejemplo por tu propia función, pero mantén la estructura. La plantilla se queda en inglés porque los revisores de Google la leen en inglés.

Adáptala para la declaración de permisos de ubicación en la Play Console
Feature: Shift tracking for couriers.

What it does: While a courier is on shift, [App name] shares the courier's location with the dispatch team every [30 seconds], so customers receive accurate arrival times and dispatchers can reassign orders when a courier is delayed.

Why it needs background access: Couriers drive with the phone locked or with a navigation app in the foreground. If location stopped while [App name] is not visible, dispatch would lose the courier for the whole drive, which defeats the core purpose of the app.

How the user controls it: The courier taps Start shift. The app shows an in-app disclosure and the Android permission prompt, then an ongoing notification while tracking runs. Tapping End shift stops tracking immediately. No location is collected outside a shift.

Video: [YouTube link], [28] seconds, showing the disclosure, the permission prompt, the start of a shift, the app in the background with tracking active, and the end of the shift.

Test account: see Sign-in details, instruction set 'Courier'.

Lista de comprobación

  • La ubicación en segundo plano o se ha quitado de todos los canales o está ligada a una única función principal declarada.
  • requireBackgroundLocation, los bloques del manifiesto y las llamadas a backgroundlocationon:// son coherentes con esa decisión.
  • La ubicación se pide desde la pantalla de la función, después de una divulgación dentro de la app.
  • El App bundle explorer muestra solo los permisos de ubicación que piensas usar.
  • Si la conservas: la declaración, el vídeo, la divulgación, la política de privacidad, el formulario Data safety y la cuenta demo describen todos la misma función única.

Preguntas frecuentes

¿Un vídeo mejor hará que aprueben mi función?

Solo si la función cumple los requisitos. El vídeo demuestra cómo funciona una función que los cumple; no puede convertir un buscador de tiendas o un feed personalizado en un caso de uso principal en segundo plano.

¿Quitar la ubicación en segundo plano romperá la geolocalización de mi app web?

No. La API de geolocalización HTML5 funciona mientras la app está abierta siempre que requireLocation sea true y los permisos de ubicación en primer plano sigan en el manifiesto. Solo desaparece el seguimiento con la app cerrada.

Mis clientes siguen su entrega en un mapa. ¿Necesito la ubicación en segundo plano?

No. El cliente mira el mapa mientras la pantalla está abierta, lo que es uso en primer plano, y Google cita el seguimiento de entregas desde el lado del cliente como un fallo típico. Envía notificaciones push para los cambios de estado.

¿Un servicio de ubicación en primer plano es lo mismo que la ubicación en segundo plano?

Si sigue recopilando la ubicación mientras el usuario está en otra parte, Google le aplica los requisitos de la ubicación en segundo plano. Un servicio en primer plano solo es aceptable como continuación de algo que el usuario inició, y debe detenerse en cuanto esa tarea termina.

Quité el permiso. ¿Por qué sigue bloqueada mi actualización?

Normalmente porque un bundle antiguo en un canal de prueba todavía lo contiene, o porque no se actualizó la declaración. Sustituye todos los bundles activos y actualiza la declaración; después envía los cambios a revisión.

Tres formas de llevar tu app a las tiendas

El mismo resultado, con distinta cantidad de trabajo por tu parte. Las tres incluyen la garantía de aprobación y soporte humano 24/7.

Hazlo tú mismo

$109 por plataforma, pago único

La licencia de WebViewGold: un proyecto de Xcode o Android Studio listo para usar. Pega tu URL, define nombre e icono, activa funciones, compila y envía. Actualizaciones gratuitas para siempre.

Ver planes en la página principal

Full Service

$698 por plataforma $798

Envíanos tu URL y tu icono. Nuestro equipo configura, compila y entrega tu app en 72 horas, en marca blanca y con los proyectos fuente. Ambas plataformas por $1,158.

Detalles del Full Service Con tecnología de WeSetupYourWebViewApp

Precios de la Oferta de invierno válidos hasta el 31 de diciembre de 2026.

¿Listo para lanzar tu app?

Garantía de aprobación en App Store & Google Play – o te devolvemos el dinero en 14 días

¿Prefieres delegarlo? Full Service: configuramos, compilamos y entregamos en 72 horas, desde $698 por plataforma. ¿Preguntas? Chatea con nosotros 24/7.

Los reembolsos se conceden bajo las condiciones indicadas en nuestras FAQ: un rechazo por motivos ajenos al contenido por parte de Apple y/o Google, reclamado dentro de los 14 días posteriores a la compra.