Google App Engine Java y Android Introducción

He estado luchando para obtener el ejemplo que se ejecuta desde abajo:

Https://developers.google.com/eclipse/docs/getting_started

El primer problema que tuve fue que no había instalado 'Google Cloud Messaging para Android Library' en el SDK de Android (obvio que sé).

Pero ahora tengo un problema con el código generado automáticamente en dos archivos en el proyecto de Android: GCMIntentService.java y RegisterActivity.java

Los errores son:

  • El método getDeviceInfo (String) no está definido para el tipo Deviceinfoendpoint GCMIntentService.java
  • El método listMessages () no está definido para el tipo MessageEndpoint RegisterActivity.java
  • El método insertDeviceInfo (DeviceInfo) no está definido para el tipo Deviceinfoendpoint GCMIntentService.java
  • El método removeDeviceInfo (String) no está definido para el tipo Deviceinfoendpoint GCMIntentService.java

Estoy usando Java SDK v1.7.0_15 en Ubuntu pero también probé en Windows 7 con Java SDK v1.6 y tenía el mismo problema. La última plataforma Android 4.2.2 y Google App Engine 1.7.7. Eclipse es Juno Service Release 2.

El problema parece que están haciendo algunos casting mal, porque hay un método getDeviceInfo para la clase interna DeviceInfoEndpoint dentro de Deviceinfoendpoint (capatilisations diferentes).

Podría tratar de arreglarlo, pero sólo me preguntaba si tengo algo mal en mi configuración para que esto suceda?

Cualquier ayuda sería apreciada.

En su clase GCMIntentService.java, agregue .deviceInfoEndpoint () después del objeto de punto final en las líneas con errores como se muestra a continuación:

DeviceInfo existingInfo = endpoint.getDeviceInfo(registration) DeviceInfo existingInfo = endpoint.deviceInfoEndpoint().getDeviceInfo(registration) 

En RegisterActivity.java cambiar la línea

 messageEndpoint.listMessages().setLimit(5).execute(); 

a

 messageEndpoint.messageEndpoint().listMessages().setLimit(5).execute(); 

Me aseguraría de que está utilizando la misma versión de API de GCM que tiene JARs. Ha habido bastantes revisiones.

Estoy usando el código siguiente con gcm-server.jar, enumerado en 19718 bytes.

El código que utilizo con éxito para enviar mensajes GCM a un dispositivo es:

 public void sendMessage() { String notificationToken = mobileDevice.getPushNotificationCode(); String deviceType = mobileDevice.getDeviceType(); Sender sender = new Sender(BROWSER_API_KEY); Message message = new Message.Builder().addData("message", "blah blah").build(); String device = "<the key for the device you are sending to goes here>"; try { System.out.println("Sending message..."); Result result = sender.send(message, device, 5); System.out.println("Done sending message"); if (result.getMessageId() != null) { System.out.println("Got message ID: " + result.getMessageId()); System.out.println("Got error code name: " + result.getErrorCodeName()); System.out.println("result: " + result); String canonicalRegId = result.getCanonicalRegistrationId(); if (canonicalRegId != null) { // Database has more than one record for this device. // Replace all of this device's records with this new id System.out.println("Got new canonical reg id: " + canonicalRegId); } } else { String error = result.getErrorCodeName(); if (error.equals(com.google.android.gcm.server.Constants.ERROR_NOT_REGISTERED)) { // application has been removed from device - unregister from database System.out.println("Got error: " + error); } } } catch (Exception e) { e.printStackTrace(); } } 
  • Configuración de Proguard al utilizar la plantilla Google Cloud Endpoints de Android Studio
  • La autenticación de Android en las cuentas de Google se transmite a Google App Engine
  • El nombre de GoogleAccountCredential es nulo a pesar de llamar a setSelectedAccountName (Android 6.0)
  • Pruebas locales para la aplicación de Android que utilizan puntos finales de Cloud para Google App Engine
  • GAE no reconoce la cookie?
  • Javax.persistence.PersistenceException en el motor de la aplicación de Google conectado al proyecto android
  • ¿Tengo que usar CollectionResponse como un tipo de retorno en GAE Endpoints API o puedo usar colecciones java de entidades?
  • No se pudo resolver: com.google.firebase: firebase-database: 10.2.0
  • Enviar mensaje desde el complemento del navegador web a android y la aplicación IOS usando XMPP
  • ¿Cómo puedo conectar una aplicación de Google App-Engine con mi Android?
  • Error: Error de ejecución para la tarea ': backend: appengineEndpointsGetClientLibs
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.