¿Hay alguna manera de usar GCM en Android sin un servidor dedicado?

Estoy conceptualizando una aplicación de Android que envía datos de un dispositivo a otro (como un mensaje de imagen), pero porque no tengo un servidor, estoy buscando otras formas de mensajería. Google Cloud Messaging (GCM) parece una buena opción, ya que está hecho para Android, y es de uso gratuito, pero todavía requiere un servidor para usar. ¿Hay alguna forma de evitar este requisito, como ejecutar el servidor GCM en la propia aplicación? ¿O hay un mejor acercamiento a la mensajería sin servidor en Android?

Creo que será difícil hacer lo que quieres efectivamente sin un servidor, pero puedes consultar el SDK de Parse. Es gratis intentar liberar hasta cierto límite mensual.

Los documentos. Es posible que desee leer "Envío de empujones a los canales" y "Uso de la orientación avanzada".

Sí se puede – es posible enviar los mismos mensajes desde un dispositivo que se enviaría desde un servidor. Sin embargo, esto tiene los siguientes problemas:

  1. Estás poniendo tu clave de API en tu aplicación, así que alguien podría descompilar tu APK para obtenerla.
  2. Sus usuarios necesitarían alguna forma de compartir sus ID de registro de GCM entre sí. Si dos usuarios tuvieran ambos ID expiran al mismo tiempo, no habría forma de compartirlos de nuevo.

Realmente, la construcción de su aplicación y alojamiento en AppEngine tomaría alrededor de una hora para escribir, y cuestan menos de $ 10 al mes, incluso para una tonelada de usuarios.

Para un ejemplo de servidor de mensajería sin código escrito en Java, echa un vistazo al servidor que respalda una de mis aplicaciones:

https://github.com/charlesmunger/touch-to-text-server.git

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.