Mostrando entradas con la etiqueta google play. Mostrar todas las entradas
Mostrando entradas con la etiqueta google play. Mostrar todas las entradas

Introducción a servicios de Google Play


¿Qué es?

Google Play Services es un conjunto de API que se ha separado del stack del sistema operativo Android para ofrecer la última versión disponible a componentes críticos para desarrolladores de una manera rápida, evitando así la dependencia del OEM o Carriers. A través de una biblioteca de código el archivo APK de Google Play gestiona los servicios de Google como Google Maps, Google Plus, In-app Purchases, etcétera.

¿Cómo funciona?

El archivo APK  de Google Play utiliza un Servicio que corre en un hilo en segundo plano dentro del sistema operativo, el cuál puede interactuar con la biblioteca cliente que debe importarse en nuestra aplicación, permitiendo que cualquier dispositivo que tenga Android 2.2(Froyo)  pueda hacer uso de las últimas características del API.
Picture
Google Play Services te da la libertad de utilizar las API's más nuevas sin preocuparse por el soporte de dispositivos.

Instalación

El SDK de Google Play services está disponible para su descarga desde el SDK Manager, además de tener un dispositivo físico con Android 2.2 o superior para hacer debugging y correr tu aplicación.
Asumiendo que tienes instalado ADT en Eclipse, deberás hacer lo siguiente para tener Google Play services listos para trabajar:
  • Damos click en el botón Android SDK Manager que se muestra en la figura 0 o en el menú Ventana>Android SDK Manager como se muestra en la figura 1.
Picture
Figura 0. El botón de Android SDK Manager en Eclipse..
Picture
Figura 1. El menú desplegable en Eclipse.

  • Una vez que estemos en el selector de paquetes, buscamos la carpeta Extras y seleccionamos la opción Google Play services y presionamos el botón Install packages, como se muestra en lafigura 2
Picture
  • Aparecerá una ventana emergente, donde se muestran los detalles del paquete y tendrás que aceptar la licencia de uso. Seleccionamos la opción Accept y luego damos click al botónInstall como se muestra en la figura 3.
Picture
Figura 3. Detalles del paquete Google Play services.
  • Ahora procederemos a importar el proyecto que descargamos en nuestro workspace. Click en Archivo, selecciona Importar, selecciona Android > Código Android existente en workspace como la * figura 4 * ilustra. Busca la ruta donde se descargó el paquete(típicamente es <carpeta-donde-tienes-android-sdk>/extras/google/googleplayservices/libproject/google-play-services_lib).
Picture
Figura 4. Seleccionamos el tipo de import como Android y luego Existing Android Code Into Workspace.
  • Una vez que tengamos el código dentro de nuestro workspace, podemos agregarlo como proyecto biblioteca para futuras aplicaciones.

Validando nuestro dispositivo

Como se mencionó anteriormente, Google Play  funciona correctamente en dispositivos con Android 2.2 o superior, para ello es necesario siempre validar si existe Google Play en el dispositivo antes de acceder a las características de los servicios, la mejor manera es hacerlo en el método onResume() en nuestra actividad principal:
@Override
protected void onResume() {
checkGooglePlayServicesAvailability();
super.onResume();
}

public void checkGooglePlayServicesAvailability() {
int statusCode = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(this);
if (statusCode == ConnectionResult.SUCCESS) {
Log.d("Is Google Play services available?", "" + statusCode);
} else {

GooglePlayServicesUtil.getErrorDialog(statusCode, this, 0).show();
}
Donde el método más importante es isGooglePlayServicesAvailable(), ya que regresa cualquiera de los siguientes códigos de resultado:
0 = SUCCESS 1 = SERVICEMISSING 2 = SERVICEVERSIONUPDATEREQUIRED 3 = SERVICEDISABLED 4 = SIGNINREQUIRED 5 = INVALIDACCOUNT 6 = RESOLUTIONREQUIRED 7 = NETWORKACCOUNT 8 = INTERNALERROR 9 = SERVICEINVALID 10 = DEVELOPER_ERROR
Si el código de resultado es * SUCCESS *, entonces el APK de Google Play services está actualizado, y puedes proceder con normalidad, sin embargo, si el código de resultado es SERVICEMISSING, SERVICEVERSIONUPDATEREQUIRED o SERVICE_DISABLED como se muestra en la figura 5, se invoca el método getErrorDialog() para mostrar un mensaje de error al usuario, lo cuál permitirá que descargue el APK o que lo habilite desde la configuración del sistema.
Picture
Figura 5. Captura de pantalla cuando la versión instalada de Google Play services ha sido deshabilitada en este dispositivo
Ahora es tu turno de encontrar nuevas maneras de explotar los API's más importante de Android, a través de los servicios de Google Play.

Google Maps Android V2, primeros pasos


MEJORAS

Con la actualización de la API de Google Maps para android se han ofrecido muchas mejoras:
  • El API es ahora distribuido como parte de Google Play Services SDK
  • Ahora los mapas están encapsulados dentro de la clase MapFragment, por lo cuál puedes integrar mapas en fragmentos.
  • Mejora en la representación de los mapas, ahora se usan vectores.
  • Los mapas son 3D.

¿Como utilizar la nueva API?

Primeramente debemos obtener nuestra API KEY mediante Google APIs Console. Para hacer eso debemos de acceder a la páginaGoogle APIs Console y crear un nuevo proyecto, ya que hemos creado un nuevo proyecto seleccionamos el servicio que utilizaremos el cuál será Google Maps API V2. Picture.
Seleccionada la opción anterior tenemos que crear nuestra API KEY para Android. Para crear el API KEY seleccionamos la opción API access, la cuál se encuentra en la parte superior izquierda y se mostrará una pantalla en donde seleccionaremos la opción que dice "Create new Android Key". Hecho el paso anterior nos mostrara una ventana como esta: Picture
En donde debemos de proporcionar la SHA1 fingerprint de nuestro certificado de desarrollo, esto se hace mediante el siguiente comando: keytool -list -v -keystore /rutadetucertificado (La contraseña solo es enter). Después de que ya hemos obtenido nuestra SHA1 fingerprint solo se tendrá que copiar y pegar en el recuadro anterior, la cadena pegada en el recuadro debe de terminar con punto y coma y el nombre del paquete que tendrá su aplicación. Después de haber hecho los pasos anterior aparecerá el API KEY que podrán utilizar en su aplicación.

** Creando el proyecto en Eclipse

Anteriormente para poder utilizar el API de Google Maps se tenia que crear con proyecto con Google APIs, con esta actualización ya no es necesario utilizar esta API. Creamos un proyecto, recordar que el paquete del proyecto debe de tener el mismo nombre que se ha colocado a la hora de crear el API KEY. Como antes se ha mencionado la nueva API es parte de Google Play Services, por lo cuál tendremos que descargar el SDK. Si aún no sabes como obtener el SDK puedes seguir el siguiente tutorial. Introducción a servicios de Google Play Ya que tenemos el SDK debemos de importar la librería que viene dentro de la carpeta: /extras/google/googleplayservices/libproject/google-play-services_lib).
Teniendo el proyecto ya importado lo agregamos como librería, esto se logra solo dando click derecho sobre nuestro proyecto, seleccionar la opción de properties, seleccionar Android , hecho lo anterior se mostrará una pantalla como la siguiente,en la cuál solo se tendrá que hacer click en Add y seleccionar el proyecto importado. Picture

** Añadiendo permisos en el proyecto.

Para poder utilizar los servicios de Google en nuestra aplicación es muy importante haber establecido los permisos necesarios. Esto se hace en el archivo AndroidManifest.xml de nuestro proyecto. Solo tendremos que agregar estos permisos: Picture
Teniendo los permisos correctos en el archivo AndroidManifest.xml, procedemos a construir nuestro layout el cuál contendrá el mapa.

** Construyendo el layout

Bien ahora solo nos hace falta mostrar el mapa, para lo cuál haremos uso de los fragmentos. Para hacer esto nos vamos a la carpeta de layout y damos doble click sobre el archivo activity_main.xml, en donde añadiremos el fragmento para que sea el contenedor del mapa. PictureEn este fragmento hacemos uso de la clase que nos dará soporte para poder visualizarlo en cualquier versión de android, si hacemos esto debemos de agregar a nuestro proyecto la librería de compatibilidad de Android. Librería de compatibilidad
Solo nos faltaría ir a nuestro archivo java y hacer que nuestra clase herede de FragmentActivity, esta clase que usaremos también debe de ser de la librería de compatibilidad la cuál viene en el paquete android.support.v4.app.FragmentActivity.

** Probando el proyecto

Y después de haber realizado todos los pasos tendríamos que ver la siguiente pantalla. Picture

CommentFB