GPS y Mapas Android | Obtener clave para usar el API GoogleMaps v2

Introducción

Hola, esto es un tema bastante peliagudo.. acaba de salir la API de Google Maps v2 y la cosa cambia bastante, Google ya ha anunciado que la API de Google Maps v1 es oficialmente obsoleta desde Diciembre de 2012, por lo que no darán mas soporte a esta versión a partir de Marzo de 2013, así que no veo sentido explicar nada sobre la API v1... no obstante Google dice que las aplicaciones que ya están hechas sobre la API v1 continuaran funcionando.

Como obtener una clave para usar el API de Google Maps v2.

Para añadir un Mapa a nuestra aplicación que use el API de Google Maps v2, necesitaremos hacer muchas cosas, algunas de ellas solo requieren hacerse una vez, no te preocupes, aquí voy a explicarte cada una de ellas, no es muy complicado, pero para cuando lo estas viendo por primera vez... pos como todo! tiene su historia.

El proceso general de meter un mapa a nuestra aplicación Android es la siguiente:

1. Descargar y configurar el SDK de Google Play servicios. El API de Google Maps Android se distribuye como parte de este SDK.
2. Obtener una clave de API. Para hacer esto, tendrás que registrar un proyecto en la consola de API de Google, y obtener un certificado de firma para su aplicación.
3. Especificar permisos y ajustes en el Manifest de la aplicación.
4. Añadir el control del mapa de un proyecto Android nuevo o existente.
5. Publicar tu aplicación en Google Play!

 

1.Descarga y configura los SDK
Antes con la API v1 la librería que usábamos para usar los mapas era una librería externa, ahora con esta API v2 es ahora incluida como parte de Google Play services SDK, puedes descargar desde Android SDK Manager. Así que aquí tienes el primer requisito previo al uso de Google Maps Android API v2 en tu app, necesitas instalar antes de nada Google Play services SDK y Android SDK. Puedes ir al apartado de como instalar nuevos paquetes en Eclipse pinchando aquí. T¡Yo tengo todo esto instalado, revisa con tu SDK Manager, que tienes para asegurarte que esta parte la cumples.

Propiedades, TextView, eclipse

Propiedades, TextView, eclipse

2. Obtener una clave para el API de Google Maps.
Si ya tienes alguna aplicación en la que usas la clave de la API de Google Maps v1.... puedes tirarla! esta clave ya no funcionara con la API de Google Maps v2. Ahora google tiene otro sistema de asignar claves, y lo hace mediante Google APIs Console, en esta consola tendremos que facilitarle 2 cosas para que nos de una clave, por un lado La firma digital con la que firmamos nuestras aplicaciones, y por otro el nombre del paquete de la aplicación en la que usaremos la clave.

Estas claves para la API están relacionados específicamente con un certificado/paquete. Realmente sólo necesitamos una clave para cada certificado. Siempre que firmes tus Las aplicaciones con el mismo certificado, te valdrá esta clave API. Sin embargo, Google recomienda firmar cada una de sus aplicaciones con un certificado diferente y obtener una clave diferente para cada uno, pero vamos, yo solo tengo un certificado y una clave API, lo que pasa es que luego en esta consola, tenemos acceso a unas estadisticas muy botitas, y si tenemos una clave para todo, no vamos a ser capazes de distingir el uso de los mapas en cada una de nuestras aplicaciones, aqui ya entra lo que necesitemos cada uno, como ya te dije, a mi me vale con una API key para todas mis apps, al menos demomento! ;P

Los pasos para conseguir una API key de Google Maps v2 es:

1. Recuperar información sobre el certificado SHA-1 con el que firmas tu aplicación.
2. Registrar el proyecto en la consola de API de Google y añadir la API de Google Maps como un servicio del proyecto.
3. Una vez que tenemos el proyecto creado, podemos solicitar una o más claves.
4. Por último, añadir la clave a la aplicación y comenzar el desarrollo.

Comencemos por el paso 1, la obtención de la información del certificado de firmas.. ufff esto que a priori es fácil, es un poco lioso (sobre todo si es la primera vez que estas ollendo hablar de esto).

Haber, cuando estamos desarrollando una aplicación, lo normal y habitual es depurarla para comprobar el correcto funcionamiento, hacer pruebas, analizar fallos... etc. Recuerda que esto lo hacemos mediante la perspectiva debuger en eclipse. (puedes ir a esta lección de eclipse para leer mas sobre esto).

Pues bien, al pulsar sobre el botón para depurar nuestra aplicación, eclipse compila la aplicación y genera el instalable .apk que se instalara en tu emulador, este instalable.apk lo firmara automáticamente con una firma digital auto generada con password "android" y que guardara con el nombre debug.keystore en la ruta por defecto:

OS X and Linux: ~/.android/
Windows Vista y Windows 7: C:\Users\your_user_name\.android\

Bien, hasta aquí todo medio normal ¿no? estarás pensando.... joe pos no es pa tanto... ¡valla un exagerao! xDD pos esperaaaaaa no corras tanto! seguimos! xDD

Este certificado solo vale para firmar aplicaciones que estamos depurando, es decir, no podríamos recuperar el instalable.apk y subirlo a GooglePlay, si queremos publicar una aplicación, debemos generar otro certificado con el que firmar nuestras aplicaciones para publicarlas.

Así que, en la mayoria de los casos tendremos 2 certificados, uno para desarrollar y depurar, y otro para publicar y distribuir nuestra aplicacion, por consiguinte necesitaremos generar 2 API key para Google Maps v2, uno para depurar y otro para cuando subamos nuestra app a Google Play. Este concepto a mi me costo un poco entender, sobre todo al principio, que recibes tanta informacion tan rapido. He hablado con muchos compañeros que esto les provoca confusión, por que no ven el concepto de los distintos certificados con los distinas Keys para el API, pero bueno, tu ya no tienes este problema!! ;P

Una vez que sabemos donde se encuentran los certificados, y comprendemos en que caso utilizar cada API key, vamos a ver los pasos para extraer los datos que necesitamos del certificado para solicitar la API key.

Nota: Si nos equivocamos de API key con el certificado que usemos al firmar la aplicación (desarrollo o para publicar), no cargara el mapa en nuestra aplicación.

Vamos a extraer la información SHA-1 fingerprint que vamos a necesitar para solicitar la API Key, para ello vamos a inicio/ejecutar escribimos CMD y pulsamos enter.

Propiedades, TextView, eclipse

Una vez que tenemos la consola, y sabemos la ruta de los certificados debemos escribir... (copia y pega el texto de abajo en la consola, poniendo la ruta de tus certificados en tu PC).

keytool -list -v -keystore "C:\Documents and Settings\Administrador\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Propiedades, TextView, eclipse

 

Bueno eso que veis arriba es el resultado del comando, lo que necesitamos para solicitar la API Key es lo que he resaltado, el SHA1 que es lo que llaman una huella digital, puedes hacer click en la esquina superior derecha y va al menú de Editar/Marcar con el ratón selecciona o marca el texto, y ve otra vez al menú Editar/copiar así se copia el texto de la consola!

Propiedades, TextView, eclipse

 

Vamos al paso 2!!
Entramos en la web de Google API Console. https://code.google.com/apis/console/

Debemos tener una cuenta de google para acceder a esta web, supongo que si tienes un Android tendrás cuenta! así que puedes usar esa misma, cuando entres por primera vez, quizás te pida rellenar algún formulario, y aceptar condiciones...

Una vez dentro, en la parte de la Izquierda tenemos un menú, selecciona Services, y en el listado busca Google Maps Android API v2.

Propiedades, TextView, eclipse

Fíjate que hay muchas APIs para Mapas, asegurate de activar la de Android!! yo la primera vez active otra que no era, así que cuidadooooo, pincha en el switch para ponerlo en ON.

Propiedades, TextView, eclipse

La cosa debe de quedar así.

Propiedades, TextView, eclipse

Ahora selecciona en el menú de la parte Izquierda API Access, y dale a Create new Android Key.

Propiedades, TextView, eclipse

Y aquí tenemos que pegar el codigo SHA1 seguido de ; y el nombre del paquete que queremos poner, como esta clave es la de desarrollo, puedes poner código SHA1;es.debug o algo así.

Propiedades, TextView, eclipse

Una vez que le des a crear, por fin te saldrá la clave!!

Propiedades, TextView, eclipse

Bueno, y hasta aquí con esto de crear la famosa clave para el API de Google Maps v2, en la siguiente leccion veremos como insertar el mapa en nuestra aplicacion, guarda esa clave que la necesitaras! :D espero que hasta aqui este claro, recuerda que necesitaras hacer esto con cada certificado digital que uses para firmar tus aplicaciones, en la próxima lección os diré algún truquito para gestionar las claves.

Si te a gustado este sitio, puedes hacer click en me gusta en Facebook, Google+, Tweeter... es el único precio que te pido por este trabajo! ;P. Compartiendo, ayudaras a otros a encontrar esta web! GRACIASSSS.