Android GCM, no se reciben notificaciones push

Estoy trabajando en una aplicación de Android que recibirá notificaciones automáticas del servidor GCM. Estoy usando php como servidor de terceros.

Tengo algunas preguntas.

  1. Cuando envío una solicitud al servidor gcm desde mi script php, me da la siguiente respuesta

     {"multicast_id":8799227316277290616,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1341388064110557%5d17b789f9fd7ecd"}]}
    

    Ahora la respuesta parece estar bien, pero puede ver un signo de % en el message_id. ¿Eso esta bien? si no es así, ¿cómo puedo recibir el mensaje_ID correcto?

  2. Cuando uso json_decode en mi script php y hago eco de este multicastid, me da algo como esto

    8.7992273162773E+18
    

    y estoy seguro de que dará el mismo tipo de valor cuando también haga eco de message_id. Entonces, ¿por qué no está haciendo eco del valor correcto?

  3. Mi última pregunta es que cuando envío esta solicitud que parece correcta y abro mi aplicación de Android, no aparece ninguna notificación. ¿Es causado por los errores anteriores o hay algún otro problema?

preguntado el 04 de julio de 12 a las 09:07

Recibo la respuesta como {"multicast_id":8544536079568251693,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1349952207538943%87d780faf9fd7ecd"}] } Pero el mensaje no se publica en el dispositivo. ¿Cuál puede ser el problema? -

Es posible que no esté recibiendo valores en el dispositivo correctamente. Verifique los nombres de los parámetros que está enviando desde el servidor y recibiendo en el dispositivo. -

Hola Mj, verifiqué los parámetros, están bien pero aún persiste el mismo problema. -

Le sugiero que lo publique como otra pregunta. Espero que más personas puedan verlo y ayudarlo a resolver el problema más rápidamente. -

Sí lo tengo. Muchas gracias -

2 Respuestas

Tuve un problema similar con C2DM. La razón fue que el nombre de la aplicación de Android no era el mismo para el que solicité la cuota. Se solucionó una vez que se corrigió el nombre del paquete.

Respondido 04 Jul 12, 12:07

lo siento, no entendí lo que realmente estás sugiriendo. Estoy ejecutando el programa en el emulador, ¿funciona en el emulador? y no entendí lo que dijiste sobre la coincidencia del nombre de la aplicación. - Mj1992

el emulador debe tener instalado android market. por lo tanto, es posible que deba descargar un AVD especial para eso... el predeterminado ahora podría funcionar. Además, el nombre del paquete de la aplicación de Android debe ser el mismo para el que se registró en Google. - Amol Gupta

No tengo Android Market instalado en mi emulador. ¿Necesito comprar una cuenta de Android Market para eso o Google la proporciona de forma gratuita (el AVD especial)? y google no me pidió el nombre del paquete de la aplicación cuando me registré en la API gcm de Android. ¿Estás hablando del registro en el mercado? Porque aún no me he registrado en el mercado. - Mj1992

Ya no se requiere el registro del nombre del paquete en GCM, se requería en C2DM. Perdón por señalar eso, mi mal. No, no hay AVD oficial con market/play instalado. Solo necesita probar la inserción en el dispositivo, de lo contrario, hay algunas versiones pirateadas de AVD con el mercado que puede encontrar con algunas búsquedas en Google. - Amol Gupta

es posible que desee consultar android.amolgupta.in/2012/07/google-cloud-messaging-gcm-tutorial.html para ver la implementación completa de GCM junto con el código. - Amol Gupta

En mi caso, la aplicación de Android no se estaba ejecutando, por lo que no se pueden recibir las notificaciones automáticas. Inicié la aplicación y luego pude recibir mensajes.

Respondido el 27 de enero de 15 a las 04:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.