⏱️ Lectura: 12 min

Google Play exige, desde finales de 2023, que las cuentas de desarrollador nuevas prueben su aplicación con al menos 20 usuarios reales durante 14 días consecutivos antes de que la revisión de Google Play la deje avanzar a producción. Daniel Gultsch, creador del cliente de mensajería Conversations, resumió su frustración con esa política en una frase publicada en su propia instancia de Mastodon: «This is unacceptable».

📑 En este artículo
  1. TL;DR
  2. Qué pasó: la revisión de Google Play bajo la lupa
  3. Contexto e historia: de una tesis universitaria a referencia XMPP
  4. Detalles técnicos y rendimiento: cómo funciona hoy la revisión de Google Play
    1. El flujo de revisión, paso a paso
  5. Cómo probarlo: publicar en pruebas cerradas o esquivar la revisión de Google Play con F-Droid
  6. Impacto y análisis: qué significa para el software libre en Android
  7. Qué sigue: verificación de identidad para todo Android
  8. Preguntas frecuentes
    1. ¿Qué es Conversations y quién lo desarrolla?
    2. ¿Por qué Google Play exige 20 testers durante 14 días?
    3. ¿Existen alternativas a Google Play para distribuir una app Android?
    4. ¿Afecta este problema solo a apps de mensajería?
    5. ¿Qué puede hacer un desarrollador si su app es rechazada?
    6. ¿Qué es UnifiedPush y por qué lo usa Conversations?
  9. Referencias

El comentario, alojado en gultsch.social, no es un capricho aislado: pone en la mesa una tensión de años entre Google y los desarrolladores de software libre que dependen de Play Store para llegar a millones de usuarios de Android.

TL;DR

  • Daniel Gultsch, creador de Conversations, criticó en Mastodon el proceso de revisión de apps de Google Play.
  • Conversations es un cliente XMPP libre, referencia de la mensajería federada en Android.
  • Desde 2023, Google exige a cuentas nuevas un track de pruebas cerradas con 20 testers durante 14 días antes de publicar en producción.
  • Las apps que evitan Firebase Cloud Messaging, como Conversations vía UnifiedPush, activan más señales automáticas de revisión.
  • F-Droid sigue siendo la vía sin este requisito para distribuir Conversations y otras apps de software libre.
  • Google amplía desde 2026 la verificación de identidad de desarrolladores, incluso para apps fuera de Google Play.

Qué pasó: la revisión de Google Play bajo la lupa

Gultsch es una figura conocida en la comunidad XMPP: mantiene Conversations desde 2014 y es coautor de varias extensiones (XEP) que hoy definen la mensajería moderna sobre ese protocolo. Cuando alguien con ese perfil dice públicamente que un proceso de revisión de apps es inaceptable, no habla como usuario ocasional, sino como quien sube actualizaciones a Play Store de forma regular y conoce el sistema desde adentro.

El disparador de su comentario fue el trato que recibe una app de mensajería open source frente al sistema de revisión de Google Play: decisiones automatizadas, poca transparencia sobre qué señal específica activó un rechazo o una demora, y un canal de apelación que no siempre revierte el resultado a tiempo.

El caso ilustra un problema estructural, no un incidente aislado. Cualquier desarrollador independiente que publique una app de comunicación en Android convive con reglas pensadas, en parte, para frenar fraude a gran escala, pero que también generan fricción a proyectos pequeños y sin equipo legal dedicado.

Panel de Google Play Console mostrando el estado de revisión de una app
Google Play combina revisión automática y humana antes de aprobar cada versión. Foto de MARCO en Unsplash

Contexto e historia: de una tesis universitaria a referencia XMPP

Conversations nació en 2014 como proyecto de Daniel Gultsch y se convirtió, con los años, en la implementación de referencia de lo que la comunidad llama «XMPP moderno»: cifrado OMEMO de extremo a extremo, mensajes multimedia, llamadas y grupos, todo sobre un protocolo federado y descentralizado como XMPP, sin una empresa dueña de la red.

Esa naturaleza federada choca de entrada con el diseño de Google Play: la tienda espera que cada app resuelva sus notificaciones push a través de Firebase Cloud Messaging, el servicio propietario de Google. Gultsch fue uno de los impulsores de UnifiedPush, un estándar abierto que permite recibir notificaciones push sin depender de los servidores de Google, algo clave para usuarios en dispositivos sin Google Play Services, como GrapheneOS o LineageOS.

Esa decisión técnica, correcta desde el punto de vista de la privacidad y la descentralización, tiene un costo: las apps que no usan el stack de Google suelen activar más controles automáticos durante la revisión de Google Play, porque el comportamiento en segundo plano no sigue el patrón que Google espera de la mayoría de las apps del ecosistema.

La comunidad XMPP incluso documenta con un test de conformidad automatizado qué tan bien cumple cada cliente, incluido Conversations, con las extensiones modernas del protocolo: un ejercicio de transparencia poco común frente al opaco proceso de revisión de las tiendas de apps.

Detalles técnicos y rendimiento: cómo funciona hoy la revisión de Google Play

El proceso de publicación en Play Console avanza por tracks: interno, pruebas cerradas, pruebas abiertas y producción. Desde noviembre de 2023, Google exige a las cuentas de desarrollador nuevas completar un track de pruebas cerradas con un mínimo de 20 testers que hayan optado explícitamente durante 14 días continuos, antes de habilitar el paso a producción.

Cada versión subida pasa primero por un modelo automático que analiza el APK o AAB: permisos solicitados, uso de servicios en primer plano, tráfico de red y coincidencia con patrones conocidos de malware o comportamiento engañoso. Solo si el sistema detecta una señal ambigua, el caso escala a un revisor humano. Ese diseño reduce costos para Google, pero también significa que un rechazo puede llegar sin una explicación específica de qué línea de código o qué permiso disparó la alerta.

Para apps de mensajería como Conversations, dos elementos concretos generan fricción adicional: el uso de un foregroundServiceType de conexión permanente (necesario para mantener la sesión XMPP activa) y el cumplimiento del calendario de target API level, que obliga a actualizar el targetSdkVersion cada año o arriesgarse a que la app deje de estar disponible para nuevas instalaciones.

PlataformaRevisión previaRequisito de testersApta para apps FOSS
Google PlayAutomática y, si hay señales de riesgo, manual20 testers durante 14 días (cuentas nuevas)Sí, con fricción de proceso
F-DroidManual, sobre el código fuente completoNo aplicaSí, pensada para software libre
Apple App StoreManual, centralizada por AppleNo aplica, pero exige cuenta de desarrollador pagaLimitada fuera de la Unión Europea

⚠️ Ojo: sin los 20 testers activos durante 14 días consecutivos, Play Console no habilita el botón para promover una versión a producción, sin importar cuántas veces se reintente subir el mismo APK.

El flujo de revisión, paso a paso

flowchart TD
    A["Desarrollador sube el AAB"] --> B["Revision automatica con modelos de riesgo"]
    B --> C{"Señales de riesgo detectadas?"}
    C -- "No" --> D["Publicacion en el track elegido"]
    C -- "Si" --> E["Revision manual humana"]
    E --> F{"Cumple las politicas?"}
    F -- "Si" --> D
    F -- "No" --> G["Rechazo o suspension"]
    G --> H["Apelacion del desarrollador"]
    H --> E

Cómo probarlo: publicar en pruebas cerradas o esquivar la revisión de Google Play con F-Droid

Un desarrollador que quiera reproducir el flujo de pruebas cerradas puede automatizarlo con fastlane en lugar de subir el binario manualmente desde la consola web, algo útil para integrarlo en un pipeline de CI/CD.

# macOS (Homebrew)
brew install fastlane

# Linux (Debian/Ubuntu)
sudo apt install ruby-full -y
sudo gem install fastlane -NV

# Windows (con Ruby+DevKit instalado)
gem install fastlane -NV

# Subir un AAB al track de pruebas cerradas
fastlane supply --track closed_testing_alpha --aab app-release.aab --json_key play-store-credentials.json --package_name im.conversations.android

El comando anterior sube el binario, asocia las notas de la versión y deja la publicación lista dentro del track indicado. Con la Google Play Developer API también se puede consultar el estado de un release sin abrir el navegador:

curl -X GET "https://androidpublisher.googleapis.com/androidpublisher/v3/applications/im.conversations.android/edits/EDIT_ID/tracks/closed_testing_alpha" -H "Authorization: Bearer $ACCESS_TOKEN" -H "Accept: application/json"

La respuesta incluye un arreglo releases[] con el campo status (draft, inProgress o completed), útil para verificar en qué punto del track quedó cada versión sin depender de la interfaz web.

Del lado del usuario final, la alternativa para no depender en absoluto de la revisión de Google Play es instalar Conversations desde F-Droid:

# 1. Instalar el cliente F-Droid desde https://f-droid.org/ (APK firmado, sin Play Store)
# 2. Abrir F-Droid y buscar "Conversations"
# 3. Instalar; las actualizaciones llegan por el mismo repositorio, sin pasar por Play Console
💡 Tip: si tu app usa un servicio en segundo plano permanente, declará el foregroundServiceType correcto en el manifiesto (por ejemplo connectedDevice o dataSync): reduce la probabilidad de que la revisión automática la marque como comportamiento sospechoso.

Impacto y análisis: qué significa para el software libre en Android

El caso de Conversations no es único. Clientes de Mastodon como Tusky, apps de mensajería cifrada como Briar o proyectos que dependen de UnifiedPush enfrentan el mismo patrón: cumplen políticas de privacidad más estrictas que el promedio de Play Store, pero eso no les da ninguna ventaja frente a un sistema de revisión pensado, sobre todo, para detectar fraude publicitario y malware masivo.

La discusión conecta con un debate más amplio sobre el control de las plataformas: en la Unión Europea, la Digital Markets Act obligó a Apple a permitir tiendas alternativas de apps en iOS. Android, en cambio, ya permitía instalar APKs fuera de la tienda desde hace años, pero Google fue añadiendo capas de verificación (Play Integrity API, verificación de identidad de desarrolladores) que reducen esa ventaja histórica frente a iOS.

El mensaje de Gultsch también resuena entre desarrolladores latinoamericanos que recién empiezan a publicar en Play Store: la curva de aprendizaje ya es alta (firma de binarios, políticas de privacidad, clasificación de contenido) y sumarle un requisito de 20 testers activos durante 14 días obliga a planificar el lanzamiento con semanas de anticipación, algo que muchas guías introductorias no mencionan.

Para un desarrollador en América Latina que recién empieza a publicar en Play Store, la lección práctica es doble: primero, planificar el track de pruebas cerradas como parte del cronograma de lanzamiento, sin contar el tiempo de revisión posterior; segundo, no depender exclusivamente de Google Play si el proyecto es de software libre, porque F-Droid ofrece una vía de distribución sin ese cuello de botella.

Logo del protocolo XMPP que usa la app Conversations
XMPP es un protocolo federado: nadie controla una tienda única de apps compatibles. Foto de Rubaitul Azad en Unsplash

Qué sigue: verificación de identidad para todo Android

Google confirmó que ampliará su programa de verificación de identidad de desarrolladores más allá de Google Play: a partir de 2026 empieza en mercados piloto como Brasil, Indonesia, Singapur y Tailandia, y prevé extenderse a más países durante 2027. El cambio afectará incluso a quienes distribuyen apps por fuera de la tienda, es decir, también al sideloading que hoy usan proyectos como F-Droid o quienes bajan un APK directo desde GitHub.

Para el ecosistema XMPP y para proyectos como Conversations, eso significa que la fricción con Google Play no desaparece cambiando de canal de distribución: se traslada a un nuevo requisito de identidad que, en la práctica, exige a cualquier desarrollador, individual o de una organización sin fines de lucro, entregar documentación oficial para que su software siga instalándose en dispositivos Android certificados.

Probalo vos: entrá a f-droid.org, instalá el cliente F-Droid y buscá Conversations para ver, en minutos, cómo se siente instalar una app de mensajería sin pasar por la revisión de Google Play.

📖 Resumen en Telegram: Ver resumen

Preguntas frecuentes

¿Qué es Conversations y quién lo desarrolla?

Es un cliente de mensajería para Android basado en el protocolo abierto XMPP, creado en 2014 por Daniel Gultsch y mantenido junto a la comunidad de ese protocolo.

¿Por qué Google Play exige 20 testers durante 14 días?

Google introdujo el requisito en 2023 para cuentas de desarrollador nuevas, con el objetivo de frenar apps fraudulentas o de baja calidad antes de que lleguen a producción masiva.

¿Existen alternativas a Google Play para distribuir una app Android?

Sí. F-Droid distribuye software libre revisado a nivel de código fuente, y también es posible instalar un APK firmado directamente. Esa vía enfrentará verificación de identidad del desarrollador desde 2026 en algunos países.

¿Afecta este problema solo a apps de mensajería?

No. El proceso de revisión aplica a cualquier categoría, pero las apps de comunicación en tiempo real suelen activar más señales automáticas por su uso de servicios en segundo plano y notificaciones push.

¿Qué puede hacer un desarrollador si su app es rechazada?

Play Console permite apelar la decisión desde el panel de política del programa, aunque el tiempo de respuesta puede tomar varios días y no siempre revierte el rechazo.

¿Qué es UnifiedPush y por qué lo usa Conversations?

Es un estándar abierto de notificaciones push que evita depender de Firebase Cloud Messaging, pensado para apps que priorizan la privacidad y funcionan en dispositivos sin Google Play Services.

Referencias

  • Mastodon: publicación original de Daniel Gultsch sobre la revisión de Google Play.
  • Android Developers, Distribute: documentación oficial de Google sobre tracks y políticas de publicación en Play Console.
  • F-Droid: repositorio de software libre para Android, alternativa a Google Play.
  • GitHub, siacs/Conversations: código fuente del cliente XMPP Conversations.
  • XMPP.org: sitio oficial del protocolo de mensajería federado que usa Conversations.

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Imagen destacada: Foto de Zulfugar Karimov en Unsplash


Andrés Morales

Desarrollador e investigador en inteligencia artificial. Escribe sobre modelos de lenguaje, frameworks, herramientas para devs y lanzamientos open source. Cubre papers de ML, ecosistema de startups tech y tendencias de programación.

0 Comentarios

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.