Publicación de una app Flutter en google play store
Hace un tiempo atrás compre una cuenta google play para publicar aplicaciones en la tienda de google play store, la finalidad al principio es poder tener mi propio portafolio de aplicaciones para posteriormente poder vender alguna de estas aplicaciones en la misma tienda.
Dentro de estos pasos de publicación lo primero que realice fue inscribir este cuenta que tiene un valor de 25 USD en la pagina oficial, para este primer paso puedes ir a leer un poco sobre publicación de aplicaciones en el sitio oficial de android y posteriormente abrir play console.
Te dejo el link aquí: https://developer.android.com/distribute/console/?hl=ES
En la tienda debes tener presente 3 factores importantes
Contar con una cuenta de correo gmail, tener una tarjeta de crédito para adquirir los derechos de publicación y leer todos los tips para poder tener la mejor experiencia de publicación.
Una vez realizado este paso lo que realice fue ir a la pagina oficial de flutter para poder verificar los pasos de publicación.
El link es el siguiente: https://flutter.dev/docs/deployment/android
Una buena alternativa (aunque se actualiza con un cierto desfase) es ingresar a la traducción realizada por la comunidad cuyo link seria el siguiente:
Cabe mencionar que este proyecto de traducción es un gran aporte al cual podrías integrarte sin ningún problema bifucardo su proyecto y apoyando en la traducción, la comunidad te lo agradecería mucho.
Link
Entonces para esta demostración ocupare una aplicación que lo único que realiza es la conversión de monedas de un país en otro la cual pueden revisarla del siguiente repositorio:
Entonces el primer paso segun la guia oficial de flutter es revisar App Manifest de Android el cual se encuentra en esta dirección <app dir>/android/app/src/main
De este apartado dado que nuestra aplicación se conecta a un api obtiene los datos del valor de cada moneda desde internet dejaremos activo el permiso correspondiente a este, si su app no se conecta a internet no es necesario que activen este permiso.
Revisando la configuración de compilación
Este archivo al principio me costo identificarlo ya que existen varios del mismo nombre por lo cual creo que una captura de pantalla de la aplicación y ver en que lugar se encuentra aclarara esto.
Añadiendo un icono para el Launcher
Los distintos iconos que van a aparecer en nuestra app siempre son un tema (ya que existen distintas medidas el como generarlos y donde colocarlos)
Para los que no saben de que se trata esto les dejo una captura de pantalla:
Para la generación de los distintos tamaños de estos iconos tenemos varias formas de realizarlo, la que mas aconsejo yo (debido a que no soy un diseñador gráfico) es ocupar un programa que haga el trabajo por nosotros
Con este generador de iconos solo debemos pegar una imagen con la sufiente densidad (densidad mas alta) y generara todos los iconos necesarios).
Ahora simplemente debemos copiar y reemplazar los iconos y carpetas generadas a nuestra carpeta de assets generados.
Firmado de la app
El firmado de la app fue una de las cosas que más me costo entender y existen varios vídeos y tutoriales de cual es la mejor forma de realizarlo y todas son distintas, por lo cual lo que intente fue realizar la forma más simple posible.
Lo primero que realice fue ejecutar flutter doctor -v en la terminal para ver donde estaba instalado el jdk de java que ejecuta flutter:
Si se van al explorador encontraran una ruta como la siguiente
Entonces desde la ventana cmd me muevo a la misma ruta
Nota importante deben abrir la ventana cmd en modo administrador
Luego de lo anterior pegas el comando siguiente:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
en mi derivación de este comando para windows lo que realice fue cambiar la ruta “~/key.jks” a “c:\key.jks” también podrías cambiar el alias o el nombre del archivo si lo deseas.
como se muestra a continuación.
keytool -genkey -v -keystore c:\keyapp.jks -keyalg RSA -keysize 2048 -validity 10000 -alias keyapp
la razón por la que dejo el archivo en la raiz de c: es solo como demostración
y en esta ejecuto el comando anteriormente descrito
al presionar enter se te ira preguntando los datos necesarios para identificar la clave de publicación
Al presionar enter te pedirá confirmar si ocuparas la misma clave de almacén en mi caso recomiendo presionar INTRO para ocupar la misma.
Si todo sale bien tus claves fueron generadas exitosamente en el path que otorgaste.
Referencia al keyStore desde la app
Una vez creado el archivo, debes generar una referencia desde la app para esto debes ir al directorio de la aplicación y modificar el archivo key.properties
ingresa los datos anteriormente puestos como son las password el keyalias y la ruta donde se encuentra el archivo.
Configurar la firma en Gradle
Tal como aparece en la gua oficial solo debes reemplazar la información del archivo por la descrita en este apartado quedando de la siguiente forma.
Para construir la release debes ejecutar el comando tal como aparece y verificar la salida de este
luego de ejecutar flutter build apk
debes ejecutar el comando flutter install si quieres instalar y probar tu aplicación
en este caso la instalo directamente en el dispositivo de prueba.
Ahora solo nos queda publicar nuestra app con google play console
Recomiendo crear la ficha de play store y completar los datos correspondientes
Crear los iconos e imágenes
Para crear las imágenes recomiendo este link en donde a traces de una captura de pantalla puedes generar los distintos iconos de la aplicación para visualizarlos en la tienda.
Seleccionas la plataforma
El template
y por último subes tu captura de pantalla
Luego de lo anterior sube tu apk y realiza distintas pruebas tienes distintos ambientes, lo recomendable es que realices varias pruebas internas antes de subir a producción puedes realizar pruebas abiertas y pruebas cerradas, verificar los dispositivos y los países en los que se distribuira tu aplicación, te deseo mucho éxito en tu camino a la publicación de tu nueva aplicación de flutter