lunes, 4 de marzo de 2013

Code Lab Uno - [Android] Google Cloud Messaging


[Google Cloud Messaging - Android | AppEngine] Pasos para implementar Google Cloud Messaging en Android. Como de costumbre no detallare ninguna teoria, sera totalmente practico.

Requisitos:
- Entorno de desarrollo Eclipse
- Android SDK
- AppEngine SDK
- Google Plugin for Eclipse

Paso a Paso:
1.-Crear un proyecto Android.




Next> Next>























2.- Clic derecho en el  proyecto >  Google > Generate App Engine BackEnd..













3.- Observa, se genero un Proyecto App Engine.



Tambien se genero 3 Clases en el proyecto  Android.


4.- Configurar Google Cloud Messaging en API Console https://code.google.com/apis/console

Crear un proyecto:


Ingresar a la opción Services y activar el servicio Google Cloud Messaging for Android:

Apuntar el valor de Project Number, este sera usado  en la clase GCMIntentService.java


Entrar a la opción API Access, apuntar el valor de Api Key que se usará en la clase MessageEndpoint.java del proyecto App Engine





5.- Deployar el proyecto AppEngine en la Nube

Clic derecho en el  proyecto  App Engine > Google > Deploy to AppEngine.


Una vez deployado en la nube tendras la url del Backend en este caso es http://codelabunogcm.appspot.com, esta url se usara en la clase CloudEndpointUtils.java del proyecto Android.


6.- Configurar Project Number en la clase GCMIntentService.java en el proyecto Android.

protected static final String PROJECT_NUMBER = "1080067658096";

7.- Configurar el Api Key en la clase MessageEndpoint.java del proyecto AppEngine y volver a deployar en la nube.

private static final String API_KEY = "AIzaSyCVCOuMfOUxL5zHucEiJbbHzY97RtNJT9Q";

8.- Correr la aplicacion Android en el Emulador, ingresar y dar clic en registrar. En esta acción la aplicación enviará el RegistryID del generado para el emulador y lo enviaráa al  BackEnd via Rest.

9.- Ingresar la consola de Servicios Rest del backend http://codelabunogcm.appspot.com/_ah/api/explorer

10.- Entrar al servicio Rest Services > messageEndpoint API v1 > messageEndpoint.sendMessage, luego  enviar el mensaje.


11.- Verificar en la pantalla del Emulador la llegada del  mensaje.

Referencias:


Si hay algo que se me paso  no documentarlo, comentar abajo.  Espero les sirva en algo.