Publicar su aplicación Flutter para Android


Avatar de Pedro Cortez

¿Has terminado de programar tu aplicación y quieres publicarla en Android? Todavía quedan algunos pasos por realizar antes de que tus primeros usuarios puedan instalar tu aplicación. En esta guía, te explico de la A a la Z cómo publicar tu aplicación Flutter en Google Play Store.


publicar su aplicacion flutter sobre android

Elementos necesarios antes de publicar su aplicación Flutter en Android

Antes de publicar su aplicación Flutter en Google Play Store, es fundamental preparar varios elementos para garantizar una presentación profesional y cumplir con los requisitos de la plataforma. Aquí están las etapas clave que debe seguir.

Preparar el icono de su aplicación

El icono de su aplicación es lo primero que los usuarios verán. Debe ser atractivo y estar adaptado a los diferentes formatos requeridos por Android. Puede diseñarlo con herramientas como Canva, Adobe Illustrator u otras plataformas de diseño gráfico. Una vez listo, debe convertirlo a los formatos exigidos por Android.

Android requiere varios tamaños de iconos para diferentes tipos de pantallas:

  • mipmap-hdpi (72×72 px)
  • mipmap-mdpi (48×48 px)
  • mipmap-xhdpi (96×96 px)
  • mipmap-xxhdpi (144×144 px)
  • mipmap-xxxhdpi (192×192 px)

Una solución práctica es utilizar herramientas como App Icon Generator, que genera automáticamente todas las versiones necesarias para Android e iOS. Después de descargar el archivo, descomprímalo y coloque las diferentes versiones de los iconos en los directorios correspondientes de su proyecto Flutter.

Sustituir los archivos de iconos en su proyecto

Una vez generados los iconos en los formatos adecuados, colóquelos en el siguiente directorio de su proyecto:

android/app/src/main/res

Reemplace los archivos de icono predeterminados por los suyos en las carpetas mipmap correspondientes.

Preparar capturas de pantalla, un banner y un logo para Google Play

Google Play exige que proporcione ciertos elementos gráficos, como capturas de pantalla, un banner y un logo, para la página de presentación de su aplicación. Estos elementos son esenciales para captar la atención de los usuarios y mostrar las características principales de su app.

  • Capturas de pantalla: Proporcione al menos cuatro imágenes con una resolución mínima de 1080×1080 px que ilustren las funciones clave de su aplicación.
  • Logo de la aplicación: Debe tener un tamaño de 512×512 px. Si utilizó App Icon Generator, este archivo ya estará generado.
  • Banner: Diseñe un banner promocional de 1024×512 px. Puede crearlo fácilmente con herramientas como Canva.

Redactar las condiciones de uso (CGU)

Las Condiciones Generales de Uso (CGU) son esenciales para informar a los usuarios sobre las reglas y condiciones de uso de su aplicación. Puede generar un modelo básico para un MVP (Producto Mínimo Viable) con herramientas como ChatGPT. Incluya los siguientes puntos clave:

  • Aviso legal: Información sobre el desarrollador o empresa responsable de la app.
  • Descripción breve de la app: Propósito y objetivos principales de su aplicación.
  • Recolección de datos: Explicación de qué datos se recopilan, por qué y cómo se almacenan.
  • Alcance de las CGU: Detalles sobre cómo se aplican estas condiciones.
  • Uso y contenido: Reglas sobre el uso de la aplicación y derechos sobre los contenidos ofrecidos.
  • Propiedad intelectual: Derechos del desarrollador sobre la app y sus funcionalidades.

Crear una política de privacidad

La política de privacidad es obligatoria para explicar cómo se gestionan los datos de los usuarios. Puede crearla usando un formulario de Google que resuma las políticas y genere una URL que pueda incluir en la página de Google Play.

Es imprescindible tener una URL válida para la política de privacidad, ya que será solicitada al publicar su aplicación.

Permitir la eliminación de cuentas o datos personales

Según las directrices recientes de Google, su aplicación debe permitir a los usuarios eliminar su cuenta o datos personales directamente desde la app. Esta función es obligatoria para evitar el rechazo de su aplicación durante el proceso de revisión.

Si aún no lo ha implementado, puede proporcionar una solución alternativa, como un formulario de Google, para gestionar las solicitudes de eliminación de datos. Proporcione el enlace a este formulario al cargar su app en Google Play.

Firmar su aplicación Flutter para Android

Una vez definido el nombre del paquete, debe crear una clave de firma para garantizar la seguridad de su aplicación. Esta clave se almacena en un archivo .jks (Java Keystore) y contiene la información necesaria para firmar la aplicación.

Paso para crear la clave de firma

En su terminal, ejecute el siguiente comando para generar la clave:

keytool -genkey -v -keystore /ruta/a/mi-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias mi-alias

Deberá cambiar estos dos elementos:

  • /ruta/a/mi-keystore.jks: Reemplace con la ruta donde desea guardar su archivo .jks. Ejemplo: /User/juan/desarrollo/mi-keystore.jks.
  • mi-alias: Reemplace con un alias de su elección, como el nombre de su aplicación.

Información que se le pedirá

Al crear la clave, se le solicitará proporcionar cierta información, como:

  • Nombre completo: Su nombre y apellido.
  • Nombre de la organización o empresa: Puede dejarlo vacío si trabaja solo.
  • Ciudad y región: Su localidad y región.
  • Código del país (ISO): Por ejemplo, ES para España, o MX para México.

Finalmente, deberá crear una contraseña para proteger su clave. Asegúrese de usar una contraseña segura y de guardarla en un lugar seguro, ya que la necesitará para firmar la aplicación en cada actualización.

Importar la clave de firma en su aplicación Flutter

Una vez creado el archivo .jks, colóquelo en el directorio android/app de su proyecto Flutter. Luego, cree un archivo key.properties en la carpeta android para almacenar la información de acceso a la clave, con el siguiente formato:

storePassword=su_contraseña
keyPassword=su_contraseña
keyAlias=mi-alias
storeFile=../ruta/a/mi-keystore.jks

Reemplace los valores con su propia información (ruta al archivo .jks, contraseña y alias).

Modificar el archivo build.gradle

En el archivo android/app/build.gradle, debe añadir dos bloques para vincular su clave de firma a la aplicación:

  1. Agregue este bloque al principio del archivo, antes de la sección android {}:
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
   keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

2. Luego, en la sección android {}, justo después de defaultConfig {}, añada este bloque:

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
        storePassword keystoreProperties['storePassword']
    }
}

3. Finalmente, reemplace esta parte dentro del bloque buildTypes:

buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

Esto permite firmar automáticamente su aplicación cuando genere una versión de producción (release).

Recuperar su SHA-1 y SHA-2 en modo release

Al publicar una aplicación Flutter en Play Store, ciertas funciones de Firebase y Google Play Services, como la autenticación de Google o el envío de notificaciones, requieren agregar las huellas SHA-1 y SHA-256 de su aplicación en modo release. Estas huellas sirven como una firma única que permite a Google verificar que las solicitudes provienen de su aplicación publicada y no de una aplicación modificada o no autorizada.

En mi artículo sobre cómo instalar Firebase para Flutter, ya expliqué cómo agregar los SHA-1 y SHA-2 en modo debug para realizar pruebas en emuladores. En esta ocasión, deberá agregarlos en modo release para que los servicios de Firebase funcionen en un dispositivo real.

A continuación, se detallan los pasos para recuperar las huellas SHA-1 y SHA-256 en modo release. Solo podrá realizarlos después de haber creado su clave de firma.

  1. Localice su archivo keystore : Se trata del archivo .jks que creó para firmar su aplicación. Tome nota de su ruta completa, ya que la necesitará en el siguiente comando.
  2. Ejecute el comando keytool : Abra una terminal (o consola de comandos) y ejecute el siguiente comando reemplazando <path_to_your_key_store_file> y <key_alias> por su información:
keytool -list -v -keystore <path_to_your_key_store_file> -alias <key_alias>

Debe reemplazar estos elementos con su propia información:

  • <path_to_your_key_store_file>: La ruta completa a su archivo .jks o .keystore.
  • <key_alias>: El alias de la clave que definió al crear el keystore.

Por ejemplo:

keytool -list -v -keystore ~/keystores/my-release-key.jks -alias my-key-alias

A continuación, simplemente ingrese la contraseña de su archivo keystore, recupere las huellas SHA y agréguelas en la consola de Firebase, en la sección dedicada a Android. Se generará un nuevo archivo google-services.json; descárguelo y reemplace el archivo antiguo ubicado en la carpeta /android/ de su aplicación con este nuevo archivo.

Crear su cuenta de desarrollador en Google Play Console

Antes de poder publicar una aplicación en Google Play Store, es necesario crear una cuenta de desarrollador de Google. Esta cuenta le permite administrar sus aplicaciones, seguir su desempeño e interactuar con los usuarios.

Pasos para crear una cuenta de desarrollador

Acceda a Google Play Console

  1. Vaya a Google Play Console e inicie sesión con su cuenta de Google.
  2. Seleccione la opción para crear una cuenta de desarrollador.
  3. Deberá pagar una tarifa única de inscripción (alrededor de 25 USD) para activar su cuenta de por vida.

Proporcione información sobre el desarrollador

  1. Complete la información requerida sobre usted o su empresa, incluyendo detalles de contacto y facturación.
  2. Acepte los términos de uso de Google Play.

Configure su página de desarrollador
Esta página será la vitrina de sus aplicaciones en Play Store. Permite a los usuarios descubrir sus productos y conocer más sobre usted.

Pasos para configurarla:

  1. Abra Play Console y vaya a Cuenta de desarrollador > Página del desarrollador.
  2. Complete o actualice la siguiente información:
    • Ícono del desarrollador: Un archivo PNG de 32 bits con dimensiones de 512 x 512 píxeles.
    • Imagen de encabezado: Un archivo JPG o PNG de 4,096 x 2,304 píxeles sin canal alfa.
    • Texto promocional: Un texto de hasta 140 caracteres que resuma su marca o productos.

Información opcional (pero recomendada):

  • Dirección del sitio web: URL del sitio oficial de su marca o empresa.
  • Aplicación destacada: Elija una de sus aplicaciones para destacarla en su página de desarrollador.

Una vez que haya guardado los cambios, su página de desarrollador estará lista. Puede tomar hasta 1 hora para que sea accesible y hasta 24 horas para que sea visible para los usuarios.

Crear una aplicación en Google Play Console

Una vez que su cuenta de desarrollador esté activada, puede crear y administrar sus aplicaciones desde Google Play Console.

Pasos para crear una aplicación

  1. Acceda a la sección «Crear una aplicación»
    • Abre Google Play Console y haz clic en Inicio, luego selecciona Crear una aplicación.
    • Deberás completar algunas informaciones básicas:
    • Nombre de la aplicación: El nombre visible para los usuarios en el Play Store.
    • Idioma predeterminado: Elige el idioma principal de tu aplicación.
    • Tipo de contenido: Indica si estás publicando una aplicación o un juego.
    • Precio: Indica si la aplicación será gratuita o de pago. Atención: Una vez publicada como gratuita, no podrás hacerla de pago.
  2. Configurar la información obligatoria. Antes de poder probar o publicar la aplicación, deberás completar varias secciones obligatorias en el panel de control:
    • Políticas de privacidad: Proporciona un enlace a una página que detalla las políticas de privacidad de tu aplicación. Esta página debe explicar cómo recolectas, almacenas y procesas los datos de los usuarios.
    • Acceso a la aplicación: Indica a los equipos de Google Play cómo acceder a tu aplicación para probarla. Esto puede incluir instrucciones de inicio de sesión o una cuenta de prueba si es necesario.
    • Anuncios publicitarios: Especifica si tu aplicación contiene anuncios publicitarios.
    • Clasificación del contenido: Completa un breve cuestionario para definir la edad mínima requerida para usar tu aplicación. Esto ayuda a Google a categorizar tu aplicación y garantizar que sea adecuada para ciertos públicos.
    • Público objetivo: Indica los rangos de edad a los que está destinada tu aplicación (por ejemplo, 13-15 años, 16-17 años, 18 años o más).
    • Aplicaciones de noticias: Declara si tu aplicación es una aplicación de noticias (generalmente para periódicos, revistas, etc.).
    • Seguridad de los datos: Declara si tu aplicación recopila datos de usuarios. Si tu aplicación requiere una cuenta de usuario, deberás especificar qué tipo de autenticación se utiliza e incluir un enlace a una página que permita eliminar la cuenta.
    • Aplicaciones gubernamentales: Si tu aplicación ha sido desarrollada para una entidad pública, deberás declararlo aquí.
    • Características financieras: Si tu aplicación ofrece servicios bancarios o transacciones financieras, deberás proporcionar información sobre estas características.
    • Aplicaciones de salud: Si tu aplicación incluye servicios o funcionalidades relacionadas con la salud, indícalo aquí.
  3. Rellenar la categoría y la información de contacto
    • Categoría: Selecciona la categoría más adecuada para tu aplicación (por ejemplo, Productividad, Entretenimiento, etc.).
    • Información de contacto: Añade los datos de contacto (correo electrónico, sitio web, etc.) que serán visibles en la ficha de tu aplicación en Play Store. Esto permite a los usuarios contactarte si lo necesitan.

Generar el APK de tu aplicación Flutter

Ahora que tu clave de firma está configurada, puedes generar el APK de tu aplicación para luego importarlo en Play Console.

Un APK (Android Package Kit) es un archivo utilizado para distribuir e instalar aplicaciones en el sistema Android. Contiene todo lo necesario para ejecutar la aplicación, como el código, los recursos y los metadatos.

Asegurarse de tener el package name correcto

Antes de generar el APK de tu aplicación, verifica que el nombre del paquete (package name) sea correcto. Este nombre debe ser único y seguir la convención de nomenclatura de paquetes de Android. Se encuentra en el archivo android/app/build.gradle.

Flutter genera por defecto un nombre de paquete en el formato com.example.tuapp, que probablemente tendrás que modificar. Para cambiar el nombre del paquete, sigue estos pasos:

  1. Abre el archivo android/app/build.gradle.
  2. Reemplaza el nombre con uno que cumpla con la estructura estándar, por ejemplo, com.tuapp.app o com.nombredetuempresa.nombredelaaplicación.

Atención

Si necesitas cambiar el nombre del paquete, es esencial actualizarlo en todos los archivos de Android e iOS. Si tu aplicación utiliza Firebase, también deberás reconectar Firebase con este nuevo nombre; de lo contrario, algunas funcionalidades podrían dejar de funcionar.

Generar un APK

Para generar el APK de tu aplicación Flutter, abre un terminal en Visual Studio Code y ejecuta el siguiente comando:

flutter build appbundle

Este comando generará un Android App Bundle (.aab), que es el formato de archivo recomendado para publicar en Google Play Store. Encontrarás el archivo generado en la siguiente ruta:

build/app/outputs/bundle/release/app-release.aab

Resolución de errores comunes

  • Error: «Importa un app bundle válido»: Si aparece este mensaje, es porque Google Play requiere un App Bundle (.aab) en lugar de un APK. Asegúrate de usar el comando flutter build appbundle en lugar de flutter build apk.
  • Error: «Has importado un APK o un Android App Bundle con una firma en modo depuración»: Esto significa que la aplicación no ha sido firmada en modo producción. Verifica que hayas configurado correctamente la clave de firma y que generes el APK en modo release.

Lanzar tu aplicación en prueba cerrada

Antes de publicar oficialmente una aplicación en Google Play Store, se recomienda realizar una fase de pruebas para detectar posibles errores y recopilar comentarios de usuarios reales. La prueba cerrada es una de las opciones más comunes para probar una aplicación con un grupo limitado de usuarios antes de su disponibilidad pública.

Por qué hacer una prueba cerrada

Una prueba cerrada permite restringir el acceso a tu aplicación a una lista específica de probadores. Esto te permite obtener comentarios dirigidos y corregir problemas antes de que la aplicación esté disponible para un público más amplio. Es un paso esencial si deseas garantizar la estabilidad de tu aplicación.

Tipos de pruebas disponibles en Google Play Console

Antes de lanzar una prueba cerrada, es importante entender los tres tipos de pruebas que ofrece Google Play Console, cada uno adaptado a diferentes fases del desarrollo:

  1. Prueba interna
    • Objetivo: Una prueba para un pequeño grupo de probadores (hasta 100) para validar funciones específicas o actualizaciones rápidas.
    • Acceso: Los probadores deben ser invitados por correo electrónico, y la aplicación no es accesible públicamente.
    • Uso: Esta prueba es rápida de configurar y permite una validación inicial antes de un despliegue más amplio.
  2. Prueba cerrada:
    • Objetivo: Ampliar las pruebas a un grupo específico de usuarios, generalmente más diverso, para obtener comentarios representativos.
    • Acceso: Los usuarios deben ser invitados a través de un enlace específico o una lista de correos electrónicos.
    • Uso: Perfecto para probar una versión más completa de tu aplicación con un grupo controlado.
  3. Prueba abierta:
    • Objetivo: Hacer que la aplicación esté disponible para un público amplio en Play Store, mientras se indica que está en fase de prueba (beta).
    • Acceso: Disponible para todos los usuarios de Play Store que deseen participar en la prueba.
    • Uso: Ideal para probar la estabilidad antes del lanzamiento oficial.

Cómo configurar una prueba cerrada en Google Play Console

Paso 1: Acceder a la sección de prueba cerrada

Una vez que hayas creado tu aplicación en Google Play Console, ve al panel de control de tu aplicación.

En el menú lateral, selecciona «Pruebas y publicación», y luego haz clic en «Prueba cerrada».

Paso 2: Configurar la prueba cerrada

  1. Definir los países donde estará disponible la aplicación
    Selecciona los países en los que deseas que la aplicación sea probada. Esto permite limitar la disponibilidad geográfica de la prueba.
  2. Crear una lista de probadores
    Puedes invitar a probadores mediante sus direcciones de correo electrónico o crear grupos de Google para gestionar más fácilmente tu audiencia de prueba. Estos probadores recibirán un enlace específico para descargar y probar la aplicación.
  3. Crear una release
    Una release es una versión específica de tu aplicación destinada a los probadores. Aquí están los pasos a seguir:
    • Generar una clave de firma: Permite que Google genere una clave de firma para proteger tu archivo APK o AAB, o importa tu propia clave si lo prefieres.
    • Agregar las huellas SHA en Firebase: Si utilizas la clave generada por Google, obtén las huellas SHA-1 y SHA-256 desde la consola Google Play (en «Integridad de la aplicación») y añádelas a Firebase. Esto es esencial para que funcionen correctamente los servicios de Google, como Google Sign-In.
  4. Actualizar Firebase y el archivo de configuración
    Después de añadir las huellas SHA en Firebase, descarga un nuevo archivo google-services.json y reemplaza el anterior en tu proyecto Flutter.
  5. Generar un nuevo APK
    Compila un nuevo APK o AAB asegurándote de que utiliza la configuración actualizada. Podrás cargar este archivo en la consola Google Play para que los probadores tengan acceso.

Paso 3: Lanzar la prueba

Una vez que hayas completado todos estos pasos y la release esté lista, puedes lanzar la prueba cerrada. Los probadores recibirán una invitación o un enlace para acceder a la aplicación. Podrán descargarla, usarla y proporcionarte comentarios valiosos sobre su funcionamiento.

Pasar a la fase de publicación

Después de realizar los ajustes necesarios en base a los comentarios de los probadores, puedes optar por:

  • Lanzar una prueba abierta para ampliar el grupo de probadores.
  • Publicar directamente tu aplicación en producción en Google Play Store, haciéndola accesible para todos los usuarios.

Conclusión

Tu aplicación Flutter ya está disponible en Android. Pero ¿por qué no publicarla también en iOS para alcanzar a más usuarios? Te mostraré cómo hacerlo en mi próxima guía:

Avatar de Pedro Cortez