Notificación del Administrador al Cliente

Estoy trabajando en una aplicación de Android. Habrá dos tipos de usuarios: Admin y el cliente. Solo quiero hacer que Admin publique algunos avisos en texto normal y luego los notificará a los clientes. La pregunta es, ¿Qué debo utilizar para hacer la transferencia de avisos de Admin a cliente. He leído en alguna parte que es posible con la ayuda de Google App Engine y Google Cloud Messaging (GCM), pero es muy complejo trabajar con Google App Engine. ¿Hay alguna mejor opción que puedo usar?

Si sólo, su preocupación es que no desea complacer a la programación del lado del servidor y todavía desea recibir una cadena en su aplicación como notificación push, puede probar y explorar esto:

http://framework.realtime.co/messaging/#android

El motor de aplicaciones de Google es perfecto para sus necesidades, ya que las notificaciones de GCM push necesitan algún tipo de servidor. Para una alternativa puede intentar explorar Parse SDK también.

Puede utilizar el servicio Amazon S3 . Ve aquí para más información: http://aws.amazon.com/s3/

Google App Engine es muy sencillo si lee la guía paso a paso .

Debes instalar maven : en barbecho este HOW TO y luego leer la guía de google y, con algunos cortar y pegar en el pom.xml , y 3 clases podrás escribir algunos REST servicio web en 4 horas!

He hecho esto hace unas pocas semanas, y lo complejo fue generar la identificación de O-AUTH para la autenticación automática de usuarios! Al final, también será capaz de generar e fina cliente Android para utilizar su servicio!

Si conoces java, todo esto será simple!

Este es un servicio web sencillo con motor de aplicaciones:

 @Api( name = "helloworld", version = "v1", scopes = {Constants.EMAIL_SCOPE}, clientIds = {Constants.WEB_CLIENT_ID, Constants.ANDROID_CLIENT_ID, Constants.API_EXPLORER_CLIENT_ID}, audiences = {Constants.ANDROID_AUDIENCE} ) public class Greetings { public static ArrayList<HelloGreeting> greetings = new ArrayList<HelloGreeting>(); static { greetings.add(new HelloGreeting("ciao world!")); greetings.add(new HelloGreeting("addio world!")); } public HelloGreeting getGreeting(@Named("id") Integer id) { return greetings.get(id); } } 

Creo que la mejor opción que tienes es en realidad Google Cloud Messages . Tenga en cuenta que cualquier cosa que implementar, tendrá que ser muy parecido a él, así que ¿por qué reinventar la rueda?

Si no quieres usar esto, hay un par de otras posibilidades que me vienen a la mente (aunque, como dije, finalmente emulan el comportamiento de GCM ):

  • Implementación de un Socket escuchando en el lado del cliente . De esta manera, primero tendría que asegurarse de que cada cliente que se conecta necesitaría enviarle de alguna manera (por ejemplo, una HTTP POST ) alguna señal y la dirección IP , porque tendrá que saber dónde conectarse. De esta manera, tendrás que conectarte a cada uno de los dispositivos cada vez que quieras enviar un aviso, enviar el mensaje a través de ese Socket y manejar los tiempos de espera (por ejemplo, si intento entregar un mensaje y la conexión se rechaza para X Veces, podría considerarlo como el cliente ha desconectado).

  • Implementación de un "tablero" centralizado . Con este enfoque, los clientes se conectan a un tablón de anuncios centralizado (un sitio HTTP , por ejemplo), dicen sondeo cada 30 segundos y muestran sólo los nuevos mensajes. De esta manera tendrás que mantener el control de los mensajes ya mostrados y mostrar sólo los nuevos. La desventaja de este enfoque es que inicialmente tendría que ser accesible a cualquier persona (incluso si no está usando su aplicación), pero puede implementar algunas medidas de seguridad adicionales para evitarlo (por ejemplo, permita que sólo los clientes que se han registrado Enviando un HTTP POST al servidor remoto), de lo contrario, redirigirlos a una página de error o devolver un error 430 Forbidden .

Si finalmente quieres dar un intento a GCM (que es más fácil de lo que imaginas), escribí una respuesta hace un tiempo que resume a una guía paso a paso qué hacer para implementarlo.

  • Cómo enviar la ubicación del dispositivo en el servidor cuando sea necesario
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.