Inicio Android Google Play Services: Introducción y Preparativos

Google Play Services: Introducción y Preparativos

por sgoliver

Desde hace algún tiempo, y de forma bastante acertada, Google está tendiendo a incorporar muchas de sus nuevas APIs para desarrolladores Android (y actualizaciones de algunas ya existentes) dentro de los llamados Google Play Services. Así por ejemplo, la API de mapas, la de localización, o la de mensajería push, que antes existían de forma independiente, han pasado a formar parte de estos servicios en los últimos meses. Y por supuesto se han incorporado otras nuevas, como la de integración con Google+ o los famosos Game Services.

Los Google Play Services viven como una aplicación más en todos los dispositivos Android (versión 2.2 y superiores), lo que nos aporta la ventaja de no tener que preocuparnos de ellos, ya que son actualizados automáticamente por la plataforma cuando existen novedades. Por decirlo de alguna forma, nosotros tan sólo nos tendremos que preocupar de «conectarnos» a ellos y utilizar las distintas funcionalidades como si fueran parte de nuestra propia aplicación.

En este artículo inicial vamos a ver cómo podemos crear en Eclipse un proyecto capaz de hacer uso de los Google Play Services. Una vez preparado el proyecto como veremos aquí cada servicio requerirá de pasos adicionales para su utilización, por ejemplo el uso de Google Maps requerirá de la obtención de una clave de acceso que nos permita el uso de su API. Estos preparativos adicionales los veremos en cada capítulo específico de cada uno de los servicios.

Empecemos. Cuando queremos hacer uso de cualquiera de las APIs incluidas en los Google Play Services lo primero que tendremos que hacer será importar en Eclipse el proyecto de librería donde se implementan. Este proyecto se puede descargar mediante el SDK Manager de Android, accediendo a la sección Extras y marcando el paquete llamado «Google Play Services«.

SDK Manager - Google Play Services 2

Si observáis la captura anterior, veréis que también existe un paquete llamado «Google Play Services for Froyo». Éste último sólo deberíamos utilizarlo (en sustitución del primero) si nuestra aplicación necesita ejecutarse en dispositivos con Android 2.2, ya que esta versión de los Play Services probablemente no recibirá las futuras actualizaciones de los servicios. Por tanto, si la versión mínima sobre la que debe ejecutarse nuestra aplicación es al menos la 2.3 usaremos siempre el paquete «Google Play Services».

Una vez descargado podremos encontrarlo en la siguiente ruta:

<ruta-sdk>\extras\google\google_play_services\libproject\google-play-services_lib

Para importarlo en Eclipse utilizaremos la opción de menú «File / Import…», y seleccionaremos la opción «Android / Existing Android Code Into Workspace».

File-Import

Pulsamos el botón «Next» y accedemos a las opciones de importación. En el campo «Root Directory» indicamos la ruta indicada anteriormente, nos aseguramos que el proyecto llamado «google-play-services_lib» queda marcado en la lista de «Projects to Import», y marcamos la opción «Copy projects into workspace».

Import Project

Finalmente pulsamos «Finish» y el proyecto de librería de los Google Play Services quedará importado en nuestro explorador de paquetes de Eclipse. Como último paso debemos entrar a las propiedades del proyecto importado (botón derecho / Properties), accedemos a la sección «Java Build Path» y nos aseguramos de que la opción «Android Private Libraries» está marcada en la ventana «Order and Export».

private-libs

Aceptamos, y con esto ya tenemos el proyecto de librería preparado.

El siguiente paso es crear nuestro proyecto, que después hará uso de esta librería. Para ello, creamos un nuevo proyecto Android como siempre (File / New / Project / Android / Android Application Project) y lo configuramos mediante las distintas pantallas del asistente (si no tienes experiencia creando este tipo de proyectos te recomiendo leer los capítulos iniciales del curso). Una vez creado accedemos a sus propiedades (botón derecho / Properties) y entramos en la sección «Android». Aquí es donde debemos añadir la referencia al proyecto que hemos importado para los Google Play Services. Pulsamos el botón «Add…», seleccionamos el proyecto importado y aceptamos.

add-library

A continuación, editaremos el fichero AndroidManifest.xml de nuestra aplicación y añadiremos la siguiente cláusula <meta-data> dentro del elemento <application>:

<meta-data android:name="com.google.android.gms.version"
           android:value="@integer/google_play_services_version" />

Por último, añadiremos al final del fichero proguard-project.txt las siguientes lineas para evitar que esta herramienta elimine algunas clases necesarias:

-keep class * extends java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @ccom.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;
}

Con esto ya tendríamos nuestro proyecto preparado para hacer uso de cualquiera de las APIs incluidas en los Google Play Services. En los artículos dedicados a cada una de estas APIs haremos siempre referencia a éste para preparar el proyecto y describiremos posteriormente los pasos adicionales específicos de cada servicio.

También te puede interesar

17 comentarios

Notificaciones Push Android: Google Cloud Messaging (GCM). Implementación Cliente (Nueva Versión) | sgoliver.net blog 18/08/2013 - 12:50

[…] Como en el caso de cualquier otro servicio incluido en los Google Play Services el primer paso para crear nuestra aplicación Android será importar el proyecto de librería de los servicios, crear nuestro propio proyecto y finalmente hacer referencia a la librería desde nuestro proyecto. Todo este proceso está explicado en el artículo de introducción a los Google Play Services. […]

Responder
Ricardo 03/11/2013 - 19:11

Tengo una duda, si en vez de enlazar nuestro proyecto al de google-play-services copiásemos el fichero google-play-services_lib.jar que está dentro de él a nuestro proyecto, habría algún inconveniente?

Responder
Jorge González 20/11/2013 - 17:28

He hecho una app de restaurantes que mediante un botón va a una vista con Google Maps v2 con la posición del restaurante, me funciona perfectamente en mi móvil pero cuando exporto el paquete firmado, la apk para subirla a Google Play se queda el contenedor del mapa solo con controles de más y menos y sin mapa, he intentado cambiar cosas y nada, la apk sin firmar o sin alinear funciona perfectamente pero con firma no va

Responder
Marcos Beneyto 08/12/2013 - 15:01

Jorge, asegúrate de haber firmado la apk con la la release key. Te recomiendo que leas este post de Android Developers donde explica paso a paso lo que tienes que hacer para publicar tu aplicación.

http://developer.android.com/tools/publishing/preparing.html

Tu problema quizá lo resuelvas en el apartado «Signing your apps».

Un saludo.

Responder
Jhonatan 15/12/2013 - 15:20

Muy buen dia.

Ya que quiero mantener compatibilidad con dispositivos 2.2 he seleccionado «Google play services for Froyo», pero al momento de llegar al código y agregarlo, Eclipse me genera un error y no descubro porqué puede ser. En la página del SDK tampoco hay mucha información sobre esto.

Muchas gracias.

Responder
Christian 01/02/2014 - 23:10

Estoy usando el Google Play Services for Froyo para desarrollar un juego multiplayer, acorde a los tutoriales de google me baje un proyecto llamado BaseGameUtils el cual ya hace toda la implementacion de manejo de partidas macheo de jugadores etc.
El problema es que este proyecto hace uso de un import que no me lo encuentra:

«import com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatch»

Estuve buscando datos respecto a esto pero no pude encontrar nada de utilidad, alguna idea de porque puede ser?
Gracias.

Responder
Lien 22/02/2014 - 20:11

hola, muy buen articulo, gracias!

Tengo un error y no se donde/como/porque!! Sigo tus comentarios, paso a paso, he probado varias versiones (android dev site, stackoverflow, etc) pero sigo igual, sin poder ejecutar la app en mimovil. Lo que me tiene loca es que en un poratil mac, un amigo a mi lado, usando el mismo keystore ambos y los mismos pasos, el genera un ap valido, que puedo instalar y ver en mi movil, pero al yo hacer lo mismo en mi portatil, nada…la app no se ejecuta, se cierra en cuanto la abro…podrias darme alguna pista? he agregado en el manifest todos los permisos y los 2 meta-tag necesarios….en fin….estoy ciega y ya hace 3 dias que llevo en esto….

Responder
Tamara 08/04/2014 - 16:57

Hola:

Tengo un problema con Windows 8. Al intentar importar las librerias Windows 8 me da problemas de acceso:

Me sale una ventana de error con el siguiente texto:

Could not write file: C:\Program Files (x86)\adt-bundle-windows-x86_64-20131030\sdk\extras\google\google_play_services\libproject\google-play-services_lib\.project.
C:\Program Files (x86)\adt-bundle-windows-x86_64-20131030\sdk\extras\google\google_play_services\libproject\google-play-services_lib\.project (Acceso denegado)

Si no consigo importar las librerias de google imposible que me funcione nada, así que necesito ayuda por favor. Estoy atascadísima con este problema.

Un saludo y gracias

Responder
Gabriela 19/06/2014 - 9:27

Qué bien está todo explicado. Muchas gracias!!

Responder
Juan Pablo 02/07/2014 - 22:14

Hola!

Tengo un problema y es que sigo los pasos tal cual pero cuando llego a la parte de properties en mi proyecto, cuando voy a la sección de Android, no me sale nada de lo que debería aparecer ¿qué podrá ser? he repetido muchas veces el proceso y nada.

Responder
David 27/08/2014 - 10:30

Buenos dias.

El problema que yo tengo es que en la seccion de Extras del SDK Manager no me aparece el paquete “Google Play Services“, ¿que puedo hacer para que me aparezca?

Un saludo.

Responder
IgnaRoz 28/09/2014 - 18:27

Para los que no le salga el paquete de Google Play Services
Lo que tienen que hacer es instalar los dos primeros paquetes de la carpeta Tools y todos los de la ultima carpeta android
Después te tendrían que salir ya todos los demás paquetes que no salían antes o por lo menos ese fue mi caso
PD: Hay que mantenerse actualizado ;D

Responder
pabloM 17/10/2014 - 2:57

ola gente…. como puedo montar una capa propia, guardada en mi base de datos, sobre el maps??????

Responder
Josué 13/02/2015 - 1:20

Me he bajado los paquetes de google services pero cuando voy ha hacer el import no me deja. Dice que la ruta que le doy, que es la misma que en el tutorial, no encuentra ningun proyecto que importar…no se que hacer. Ayuda por favor

Responder
Mapas | App Android 23/03/2015 - 22:36

[…] Una vez tengamos nuestra key tenemos que añadir las librerías necesarias para que nuestro proyecto admita la api de google. Tendemos que abrir el sdk de android e instalar si no lo tenemos ya “Google play service” e insertar las librerias para que nuestro proyecto funcione bien . Podéis seguir los pasos de este link. […]

Responder
Chema 09/08/2015 - 11:26

Buenas!
Alguien podría ayudarme para agregar una simple puntuacion de google play services a mi juego? Por más que busco no encuentro ningún tutorial simple con esta información.
Gracias

Responder
JUANCARLOS 21/06/2016 - 5:04

no me sale la carpeta libproject en google_play_services QUE ME FALTA

Responder

Dejar un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. Aceptar Más Información

Política de Privacidad y Cookies