Inicio > Aplicación, Delphi, WebService, XE5 > (5/5) Publicación en AppStore (Google Play) paso a paso.

(5/5) Publicación en AppStore (Google Play) paso a paso.

miércoles, 5 de febrero de 2014 Dejar un comentario Ir a comentarios
Share Button

Aquí comenzamos la que será la última entrada de esta serie, completando el "ciclo de vida" de este desarrollo, con la publicación de la aplicación en la “tienda” de Google (Google Play). Tal vez para el ejemplo que estamos tratando no sea el “final lógico”, pues recordemos que trabajamos sobre el supuesto de que la aplicación es para una empresa. En ese caso la distribución podría ser de forma “interna” y no tendría sentido publicarla para todos los usuarios de Google Play.  Pero me váis a permitir que en este caso me tome esta “licencia” y aprovecharé así esta aplicación para documentar este último paso.

Recordemos lo que hemos visto hasta ahora, y aprovecho para actualizar los links en el resto de las entradas.

“ROADMAP” DE LAS ENTRADAS

Hay una serie de pasos que necesitaremos completar, antes de poder publicar nuestra aplicación. En las pruebas normales del día a día tal vez no sean todos necesarios, pero una vez que vamos a publicar la aplicación deberíamos completarlos.


ICONO DE APLICACIÓN

Imagen75Una vez seleccionamos en el "Target Platform" que la aplicación va a ser para Android, en las opciones del proyecto (Aplicación) debemos rellenar las diferentes imágenes para la aplicación (lo que en las aplicaciones VCL era el icono de la aplicación).  Además también podemos seleccionar las orientaciones "permitidas".

Todas las opciones de la aplicación están explicadas en este apartado de la docwiki de embarcadero.


PERMISOS DE USUARIO

Igualmente, antes de publicar la aplicación tenemos que tener claros qué permisos necesita; Estos dependerán de las necesidades de la aplicación respeto al terminal y a los servicios que nos ofrece (acceso a sensores, comunicaciones, acceso al terminal, storage,…). Hay infinidad de ellos y deberéis realizar la asignación correcta de permisos desde la configuración (pestaña User Permissions).

Hay algunos (los más habituales) que vienen activados por defecto.

  • Access coarse location
  • Access fine location
  • Call phone
  • Camera
  • Internet
  • Read calendar
  • Read external storage
  • Write calendar
  • Write external storage
  • Read phone state

Una explicación más extensa de los permisos de aplicación, tanto los básicos como los avanzados, así de cómo asignarlos estás explicados aquí.

NOTA: Aunque en los permisos de la aplicación está marcado el acceso a Internet (es uno de los que viene prefijado por defecto) me he encontrado que a la hora de generar la aplicación y probarla en un dispositivo Android no tenía permisos para acceder a la red; Después de revisar el fichero de configuración, he tenido que añadir manualmente la siguiente línea para dar permiso:

<uses-permission android:name="android.permission.INTERNET"/>

 

El fichero, después de añadir la línea ha quedado como en la imagen inferior.

Manifest_addes

 


CREAR UN KEYSTORE Y UN CERTIFICADO 

Para poder publicar nuestra aplicación, necesitamos que esté firmada mediante un certificado. Delphi facilita el trabajo de obtener la clave y almacenarla (en un "KeyStore"). Un poco más abajo tenéis los pasos necesarios para acceder al asistente. Antes de eso vamos a explicar algo sobre los certificados que utilizamos para realizar la firma.

TIPO DE FIRMA

Al generar una firma para nuestras aplicaciones (inicio del Wizard) lo primero que se nos pregunta es de qué forma queremos firmar nuestra aplicación, dependiendo del “Build Type” que queramos hacer. Se hace una diferencia entre si estamos en pruebas (Debug) o si estamos generando una versión final o definitiva. Si estamos realizando pruebas, podemos usar “Tipo debug”. En este caso, se nos solicitan muchos menos datos (en realidad desde el asistente ninguno), de forma que la generación es mucho más sencilla.

Al generar una “clave de Debug” se le asignan unos valores fijos. Por defecto las claves que se generan de esta forma expiran a los 365 días.

NOTA: No se puede distribuir una aplicación firmada con una clave para Debug.

Para generar un certificado para poder distribuir nuestra aplicación en la tienda de Google, necesitaremos generar primero un fichero donde almacenar las claves (Keystore) y a partir de ahí añadirle un certificado. Para ello el asistente nos solicitará una serie de datos.



UTILIZACIÓN DEL ASISTENTE

Crear KeyStore FileLa primera vez que lanzamos el asistente para generar una clave deberemos crear el Fichero para almacenar las claves. Para ello utilizaremos el botón de “New KeyStore”.

Nos solicitará el lugar donde crear el fichero (atención a la ubicación en sistemas Windows Vista y posteriorres para no tener problemas con los permisos a la hora de genararlo). Además de crear el fichero que almacenará los certificados, se nos solicitarán los datos para generar el primero de ellos (Alias=certificado). La pantalla es similar a esta:

Generar Alias certificado

Si completamos los datos correctamente (no introduzcáis ESPACIO en el Alias)  y se genera sin problemas, obtendremos un mensaje como este:

KeyStore CReada correctamente

Con esto ya tendremos creado nuestro "Almacén de claves" (KeyStore) y la primera clave para publicar aplicaciones (Alias).

Podemos generar claves diferentes para nuestras aplicaciones, Pero es imprescindible que todas las versiones de una aplicación (inicial y actualizaciones) estén firmadas con la misma clave, de otra forma serán rechazadas a la hora de publicarlas en Google Play.



PASO FINAL: DEPLOYING

Imagen18Una vez que ya tenemos todo el entorno configurado, para generar la aplicación en “Google Play” (en el caso de Android), debemos asegurarnos de que hemos seleccionado “Release” en nuestra “Build configuraction” y de que seleccionamos como “Target Platform”, Android y la “Application Store” como destino final.

Deberemos seleccionar también en la configuración del proyecto, la key o certificado con el que vamos a firmar la aplicación (uno de los que hemos creado anteriormente y el mismo para las diferentes versiones y updates que generemos).

Si compilamos con esta configuración,veremos que se nos genera el proyecto en una Carpeta \Android\release, en lugar de la habitual \Android\debug.

Lo siguiente es acceder a la opción de menú Project/Deployment y pulsar sobre el botón de Deploy. Este paso es el que realmente nos genera el fichero APK, que posteriormente servirá para instalar la aplicación (sea desde un terminal) o subiéndolo a la tienda de aplicaciones.



CUENTA DE DESARROLLADOR

Para poder publicar aplicaciones en la tienda de Google, sean gratuítas o de pago hay que crear una cuenta de Desarrollador, aceptar las condiciones del acuerdo y pagar 25$ (este pago no se deberá realizar más). Podéis acceder desde esta dirección, haciendo un Login con una cuenta de Google.

Crear_cuenta_developer

Las condiciones del acuerdo las podéis leer en el link anterior o desde aquí.



PUBLICACIÓN DE LA APLICACIÓN

Imagen1162

Una vez que tenemos creada nuestra cuenta, ya podemos iniciar los pasos para publicar la aplicación. A la derecha os coloco una  imagen de los diferentes bloques/operaciones en los que se divide la publicación.  No necesariamente hay que rellenarlos todos, dependerá del tipo de aplicación. Por ejemplo, para el caso de las aplicaciones gratuitas, la parte referente a precio y distribución queda vacía.

Lo primero que se nos solicita, es que subamos el APK de nuestra aplicación.  Una vez que hemos realizado el "Deploy" desde el IDE de Delphi, el fichero generado se encuentra en la carpeta \Android\release, como hemos comentado antes. También tenemos que seleccionar el idioma de la aplicación.

Imagen1163

NOTA: Hay que decir que la compilación debe realizarse según los pasos anteriores, ya que Google no dejará subir ninguna aplicación que no esté firmada correctamente o que esté compilada "para Debug".



FICHA DE LA APLICACIÓN

Dentro de la ficha de la aplicación deberemos rellenar datos como la descripción, texto promocional, cambios recientes, la versión de la aplicación, categorización de la aplicación (tipo, categoría y clasificación de contenido), datos de contacto de quien la distribuye y diferentes imágenes (diferentes tamaños pensados para móviles, tables,…) para mostrar en la "tienda". También hay posibilidad de adjuntar un vídeo directamente desde youtube.

Una vez completados los datos mínimos podemos "publicar" la aplicación y en poco tiempo estará disponible.

A continuación os pongo la imagen completa con todos los campos de la ficha para la aplicación que he publicado, así os hacéis una idea más clara de todos los campos.

Ficha_APK

Desde la "Consola de desarrollador" además de gestionar las aplicaciones, se ofrecen muchos recursos para facilitar el trabajo a los desarolladores.

  • Estadísticas de la aplicación; Datos sobre las descargas de la aplicación y los dispositivos en los que se ha instalado.
  • Valoraciones y opiniones. Todo lo referente a la información de feedback que los usuarios han dado.
  • Errores y ANRs;  Información sobre los fallos  y las "Application Not Responding" detectados en la aplicación.
  • Y por último un apartado de Sugerencias de Optimización.

Si todo ha ido de forma correcta, al cabo de unas hora (eso al menos es lo que me ha tardado a mi) vuestra aplicación aparecerá publicada en la tienda y estará accesible al resto de usuarios.

La aplicación que he utilizado para las entradas anteriores y para ilustrar los pasos que hemos visto en esta, la podéis descargar desde este enlace de Google play o buscando "Agenda Test Service".

Imagen1164

Hasta aquí esta serie.  Espero que en general os haya sido útil.

Me he dejado cosas en el tintero, y a medida que las he ido escribiendo y publicando me han surgido temas relacionados que no han tenido cabida en las entradas, así que en breve publicaré un "apéndice" con una recopilación de estos elementos.

Como siempre comentarios, sugerencias, críticas,… serán bienvenidas.

Un saludo y hasta la próxima.

Vota este post
Subscribe
Notify of
guest

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

16 Comments
Inline Feedbacks
Ver todos los comentarios
casimiro
casimiro
10 years ago

Espléndido y estupendo.

Bruce Peru
Bruce Peru
10 years ago

Gracias por el gran aporte

Eliseo GN
10 years ago

Excelente aporte Germán, muy bien redactado y por demás interesante.

Saludos.

Jhonny
10 years ago

¡Excelente!, como todos tus aportes :).

Jose A.
10 years ago

Excelente. Me quito el sombrero.

Char
10 years ago

Hola muy buenas, he tenido un problema con la empresa que contrate para desarrollarme la Apk ya que la subieron y firmaron con su firma y ahora al cambiarla de servidor me exijen esa firma para poder subirla en el otro servidor. La empresa no me da la firma por seguridad hacia sus otras APPs y necesito subirla con el mismo nombre, como puedo hacer que me den de baja una para subirla con el mismo nombre pero con otra firma?

Miguel
9 years ago

Gracias Neftalí por tan valiosa información, me ha servido para publicar mi primera aplicación Android.

Luis Roldan
Luis Roldan
9 years ago

Master, ya nos conocemos y esta vez te escribo por aca en vez de hacerlo en forma Privada. Soy Luis Roldan de Argentina, y gracias a tu detallada informacion , pude publicar mi primer aplicacion de Android. De la misma forma que te ocurrio a ti, cuando compilo el release, se me deshabilita el permiso de internet, tanto hice que logre ya casi a las 4 de la madrugada obtener un dpk que me acepte Goolge, la forma fue poner el archivo AndroidManifest.xml en solo lectura, pero ahora no lo pude volver a repetri, pues si lo hago asi el compilado se enoja y no me deja terminar. En definitiva como salvo el bug que no me deshabilite internet, yaque la aplicacion que hice la necesita….
Gracias y espero tu respuesta

Antonio
Antonio
4 years ago

Gracias por tus artículos Neftalí, se que este es un artículo bastante antiguo, pero creo que sería interesante completarlo detallando como incorporar al programa la opción que da google, tanto para aplicaciones pagas como gratuitas, de las licencias de aplicaciones.

Por más que he buscado por internet no he conseguido aclararme para lograrlo.

Espero tú respuesta.

Antonio
Antonio
4 years ago

@Germán Estévez
Gracias por responder Germán, creo que sería una buena forma de completar el artículo.

Saludos.

Ignacio
Ignacio
3 years ago

Qué tal buen día.

Muchas gracias por tus aportes antes que nada y pues escribo porque tengo una duda y no se por donde buscar.

¿Cómo podría yo lanzar una actualización de mi aplicación hecha en Delphi sin tener que publicarla en la Play Store?, esto es así porque es una app que desarrollé para la empresa en la que trabajo. He visto apps que mandan una notificación push diciendo que hay una actualización y al dar tap sobre la notificación, se descarga el .apk y se actualiza la app en automático, me gustaría hacer algo similar. Espero haberme explicado y ojalá me puedas contestar. Saludos!

16
0
Would love your thoughts, please comment.x
()
x