[DEPRECATED] Obtener FingerPrint y ApiKey para Android Maps (VIDEO)
En el siguiente video-tutorial se va a explicar como obtener el Api key para Android Maps que tenemos por defecto para trabajar con nuestro emulador y hacer pruebas, y el Api Key obtenido del FingerPrint del certificado digital que nos creamos para subir nuestra aplicación al Android Market.
Los datos necesarios para realizar el video-tutorial se muestran a continuación:
Para obtener el FingerPrint que viene por defecto para hacer pruebas:
- Abrimos una consola en nuestro PC.
-
Nos vamos a la carpeta de Android (esta carpeta es una carpeta oculta). Por lo general para acceder a esta carpeta por consola se accede de la siguiente manera, según con el sistema operativo con el que estemos trabajando (recordar el poner el comando ‘cd’ delante):
– Windows7: “C:Users\.android”.
– Windows XP: “C:Documents and Settings\.android”;
– Linux: “~/.android/”.
– MAC: ““~/.android”. -
Metemos la siguiente línea para obtener el FingerPrint:
"keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android”
-
Copiamos el FingerPrint obtenido y lo introducimos en la parte inferior de la siguiente URL:
https://developers.google.com/android/maps-api-signup?hl=es-ES
- Con esto ya obtenemos el Api Key que tenemos que copiar en el XML de nuestro Layout.
Para crearnos un certificado digital y obtener el Api Key del FingerPrint del certificado creado:
-
Metemos la siguiente línea para crearnos el certificado. Recordar que lo que esta en color rojo es el fichero del certificado creado (mi_certificado.keystore) y lo que esta en azul es el alias del certificado (homer):
keytool -genkey -v -keystore mi_certificado.keystore -alias homer -keyalg RSA -keysize 2048 -validity 10000
Una vez que metamos esta línea y pulsemos intro, tendremos que rellenar el formulario del certificado. MUY IMPORTANTE, recordar la clave que metéis.
-
Metemos la siguiente línea para obtener el FingerPrint del certificado creado.
MUY IMPORTANTE, debe coincidir el nombre del fichero del certificado (en color rojo) y el Alias (en color azul) creado en el paso anterior:
“keytool -list -alias homer -keystore mi_certificado.keystore”
Después de introducir esta línea nos pedirá un par de veces la clave del certificado.
-
Copiamos el FingerPrint obtenido y lo introducimos en la parte inferior de la siguiente URL para obtener la ApiKey:
https://developers.google.com/android/maps-api-signup?hl=es-ES
-
Una vez realizados estos pasos, copiamos la Api Key obtenida para ponerla en el XML del layout.
MUY IMPORTANTE. Después de realizar estos pasos, tenemos que utilizar el certificado creado y del que hemos obtenido el FingerPrint para firma la aplicación que vamos a subir al market.
Hola mi pregunta es la siguiente ojalá me puedan ayudar, gracias de antemano:
tengo 2 marcadores en mi mapa en mi aplicacion android (api v2)
quisiera saber en un toast por TextView la distancia que hay entre ambos marcadores y el tiempo que demoraría si desde el punto ah voy trotando al punto b o si voy en carro desde el punto b al punto a y que se refleje en mi mapa como me voy acercando de un punto a otro punto
eh leydo en google que polilynes no sería lo mas adecuado ya que traza una linea recta y la idea seria lo mas exacto posible, ojala puedan ayudarme, gracias un abrazo.
Realmente Polyline te traza una línea si pones dos puntos, pero si añades más te traza una ruta 😉
Ramón claro tienes toda la razón si ponemos mas de 2 puntos claro que trazaria la ruta pero la idea es por ejemplo imaginate que tienes una aplicacion llamada LA APLICACION X y yo tambien tengo esta bendita aplicacion LA APLICACION X ahora necesito saber la distancia que nos separa si vamos al encuentro yo a pie por ejemplo y usted en auto por ejemplo, lo que respecta al trazado ahy una api de google que te realiza todo el trazo incluso por la ruta sugerida por google para encontrarnos
https://developers.google.com/maps/documentation/directions/intro
incluso un video de youtube (aun no me sale jajaja)
http://www.youtube.com/watch?v=jen6zti4L3k
pero la idea es algo asi pero sobre todo es que se conforme ambos puntos se esten acercando en un Textview por ejemplo me tiene que mostrar el tiempo aprox. de encuentro
Entonces a demás de dibujar los dos trazos desde ambos dispositivos como antes hemos mencionado, tienes que sincronizarlos de alguna manera. Por ejemplo enviando las coordenadas y el trazo de cada uno a un servidor; y compartiendo esa información con cada uno de los dispositivos para que puedan pintar la ruta del otro. El tiempo aproximado de encuentro o bien lo calculas en el servidor o en cada dispositivo.
Hola, excelente el vídeo me salio a la primera, tengo una duda me gustaría hacer en mi android app el mismo servicio de «como llegar» pones un punto A y te traza la ruta (no en linea recta) de como llegar al punto B, tipo navegador web. Es posible hacerlo en Android ??
Hola Carlos,
Sí es posible, el como llegar te lo hace el Android Maps dibujando el trazado.
Hola Ramón, perdona la ignorancia, pero estoy intentando hacer eso, tengo un punto fijo y otro q localiza donde estoy (esto ya esta) pero lo único que encuentro para hacer es una polilinea pero me traza una linea recta, como podría hacer para que me trace la ruta igual que en la PC.
Hola Carlos,
Para dibujar líneas los mapas o lo puedes hacer con drawLine() de Canvas pintando encima, o con addPolyline() de GoogleMap (te recomiendo éste último).
Te trazará una línea si solo pones dos puntos (el de inicio y el de fin), pues estos métodos solo dibujan líneas. Si le añades más puntos te dibujará una camino pasando por varios puntos.
Muy buen trabajo. Gracias!!
Hola Xavier.
Sobre lo que estas realizando (en principio), no has hecho nada mal. Quiza no explique todo lo que deberia haber explicado en el tutorial y me falto ese detalle.
Las pruebas «particulares» que hagas bien en el emulador, smartphone o table la tienes que hacer con la debug Api Key porque esa APP que estas realizando y probando NO ESTA FIRMADA, por tanto esa APP nose exactamente como se pasa al movil, pero hablando sin ser muy técnico no te instalas la APP en el movil como un «.apk»….En Resumen que siempre que hagas pruebas con tus dispositivos fisicos lo tienes que hacer con la Api Key por defecto ya que esa APP no esta firmada.
Ahora viene lo bueno. Una vez que tienes la APP bien probada y lista para subir, debes de crearte el certificado con el que vas a firmar la APP y con el que vas a obtener el fingerprint que te dara la Api Key, es decir que haras los pasos 2,3,4 y 5 que me comentas en el mail. Una vez que has hecho eso vas a tener la APP lista para subirla al «android Market» (o Play google) y una vez que la firmes con el certificado que te has creado y con el que has obtenido el fingerprint para obtener posteriormente tu Api Key, te crearas tu fichero «.apk» para subirlo al market…..ENTONCES…Una vez que has puesto la «segunda» Api Key (y es lo que te pasa) no vas a poder ver el mapa de la forma que lo has hecho, porque le estas pasando a tu tablet una APP sin firmar, con un Api Key que no reconocera, por eso no la puedes ver, PERO si has seguido estos pasos y ya has subido tu APP al market, una vez que te la descargues del market si que veras el mapa, ya que te estas descargando una APP firma, certificada y demas..
En resumen:
1º.- el DEBUG API KEY => Solo para hacer pruebas bien en el emulador, tablet, smartphone..etc.
2º.- Una vez que hayas probado que tu APP funciona y esta lista para subirla al market, CAMBIAS la API KEY siguiendo los pasos del tutorial.
3º.- Firmas la APP con el certificado del que has obtenido al FingerPrint para obtener la API KEY y luego ya la subes al market.
4º- Una vez que la tengas en el market, te la descargas del market y comprobaras que la APP funciona correctamente.
Bueno esto que te cuento, te lo cuento desde la experiencia, no tanto desde el conocimiento ya que estas cosas las aprendes por «ensayo y error»…Este problema que me comentas a mi tambien me paso con la app de Radiacion en España que desarrolle y era eso que te cuento….Espero haberte ayudado..si tienes cualquier otra duda ya me comentas.
SL2
Buenas, estoy desarrollando una app para Android que usa los servicios de Google Maps, para ello obtuve la debug Api Key y pude hacer las pruebas pertinentes con el emulador. El caso es que la app está ya casi terminada y queria probarla en una tablet donde compruebo que no haya errores, me he descargado la key pública para poder ver el mapa y este no aparece.
Buscando en la red he encontrado este excelente tutorial en la página Jarroba.com, he visto que los pasos a seguir son los mismos que yo usé y sin embargo ami no me funciona, por lo que deduzco que algo hago mal. A continuación os expongo la forma en que he operado a ver si por favor me podeis indicar donde está el error (por cierto, mi equipo está instaldo con Debian/Ubuntu 11.10 y Eclipse):
1 – Una vez obtenida la debug Api Key, la copia al layout (hasta aquí bien, puesto que en el emulador sí puedo ver el mapa). Para obtener la Api Key uso el comando:
keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android
y una vez obtenido el fingerprint solicita la Key de developers.google.com
2 – Primero uso el comando que genera el fichero dentro de ~/.android/:
keytool -genkey -v -keystore mi_aplicacion.keystore -alias mi_alias -keyalg RSA -keysize 2048 -validity 10000
3 – Una vez hecho obtengo el fingerprint con el comando
keytool -list -alias mi_alias -keystore mi_aplicacion.keystore
4 – Voy de nuevo a la página de developers de google introduzco el fingerprint y obtengo la nueva key.
5 – Sustituyo la debug key por la public y exporto la aplicación.
No sé el porqué pero no consigo ver el mapa en la tablet, no sé encontrar el error, no sé si es un problema de configuración de Eclipse ¿debo hacer algo especial para exportar? He exportado otras apps que no requerian del certificado de Google y funcionan.
En fin, disculpad el rollo y como comprenderás os estaré muy agradecido si podeiss aportar un poco de luz a mis dudas.
Muchas grácias.