Play me rechazó por un aviso que solo estaba en la ficha
Google Play pidió tres cosas. Dos ya estaban en la ficha y en la web. La que tumbó el envío era la que no estaba dentro de la app: decir, en Ajustes, que emap no es oficial. De propina, un permiso de micrófono que no usábamos.
Google no se quejó del mapa. Se quejó de quién parecía emap.
Política de servicios gubernamentales y afirmaciones engañosas. Pedían tres cosas. Las dos primeras ya estaban en la ficha de Play y en la web. La que encabeza el requisito no estaba donde el revisor abre la app.
Lo que ya habíamos pegado, y no bastaba
El 31 de julio reescribí las descripciones de Play (es, eu, en) con dos bloques: un aviso visible sin expandir de que emap es independiente, y las URLs de las fuentes oficiales. Google dice que eso, si solo cambia la ficha, no exige un AAB nuevo.
El aviso en castellano, tal cual:
AVISO: emap es una aplicación independiente. No es una app oficial ni representa a ninguna entidad pública ni a los operadores de transporte; muestra datos abiertos publicados por las fuentes oficiales citadas más abajo.
Fuentes con URL: Open Data Euskadi, Trafikoa, CTB, Open Data de Bilbao, NAP del Ministerio, geoportal de carburantes, DGT, OpenStreetMap. También en /atribuciones.
El rechazo llegó igual. La causa de fondo, anotada el 2 de agosto: el aviso y las fuentes solo estaban en la ficha y en la web, no dentro de la app.
Cambiar la descripción de Play no exige AAB nuevo. Meter una pantalla de Ajustes sí. Quien solo parchea la ficha cree que ha contestado a Google. El revisor instala el binario.
Dentro, en Ajustes, en tres idiomas
Nueva sección «Acerca de» en Ajustes: la renuncia y las ocho fuentes oficiales, en es, eu y en. Commit da43eaf. Las nueve URLs, comprobadas con HTTP 200 desde el dispositivo.
Eso viaja en el binario. Lo ve quien instala el closed testing. Es lo que Google enumeraba primero.
El micrófono que no grababa
El mismo envío arrastraba un permiso fantasma. expo-audio se usa para el ducking del TTS: bajar Spotify un segundo, decir la maniobra, devolver el volumen. Eso va con MODIFY_AUDIO_SETTINGS. El plugin también metía RECORD_AUDIO.
La ficha de Data Safety no declaraba micrófono. El manifiesto, sí. Play compara las dos. Commit aa3834d: fuera el permiso. No se graba nada.
El formulario de Data Safety no cambió: sigue siendo ubicación, efímera, no compartida. Lo que cambió es dejar de contradecirlo desde el XML.
Es el mismo paquete que más tarde me valió un 2.5.4 en Apple por UIBackgroundModes: audio. Defaults de librería, dos tiendas, dos manifiestos.
Lo que no se sostiene
No hay garantía de que esto cubra el rechazo. Lo interpreta un revisor. Los tres puntos del aviso quedan cubiertos de forma literal: fuentes identificadas, renuncia visible de que no representamos a nadie público, y sin RECORD_AUDIO.
El acceso a Play se pidió el 28 de agosto. Hasta el OK, en público sigue sin enlace. Este texto no dice que Android esté en producción. El closed testing es otra pista. El APK interno de EAS, otra.
Una ficha bien redactada no sustituye a la app. En este caso, Google leyó la app.
Dónde está ahora
iOS: App Store.
Android: el aviso vive en Ajustes, no solo en Play Console. Si vuelve un rechazo de «app oficial», el sitio donde mirar no es la descripción de 4.000 caracteres. Es la pantalla que abre el revisor.