¿Hay alguna forma de averiguar si una aplicación determinada es compatible con GCM (como APNS)?

¿ Hay alguna forma de averiguar si una aplicación determinada es compatible con GCM (Google Cloud Messaging) ?

( GCM es la versión de Google de APNS ) .

Podría imaginar que requiere algún permiso (como RECEIVE_WAP_PUSH), o al menos tiene que declarar un intent/broadcast-receiver correspondiente en su archivo Manifest. Pero como no estoy seguro, solo dejo estas indicaciones en un comentario hasta que alguien apruebe una u otra :)
@Izzy, ¿por qué tendría WAPen su nombre?
Probablemente no lo haría. Acabo de dar un ejemplo de un permiso que conozco, que también está relacionado con push. Prefiero pensar que es un receptor de transmisión. Pero no soy un desarrollador, así que no estoy seguro de cómo funciona exactamente.
Creo que se supone que Acrobits Groundwire tiene GCM, tal vez alguien pueda averiguarlo...

Respuestas (1)

Como se describe en la documentación del desarrollador , una aplicación necesita permiso com.google.android.c2dm.permission.RECEIVEpara recibir mensajes de GCM. Esto aparece en la lista de permisos como "Recibir datos de Internet" (que es un poco vago, lo sé).

Por supuesto, la presencia del permiso no significa necesariamente que la aplicación vaya a usar GCM. Incluso si usa GCM, es posible que no lo use para todos los usos para los que cree que podría usarlo: tal vez solo algunos tipos de 'actualización' o operaciones de sondeo pueden reemplazarse por usos de GCM. E incluso si usa GCM por completo, en todas las formas que esperaría, aún es posible que la aplicación use más energía de la que necesita. El uso de GCM no garantiza que la aplicación esté bien escrita o sea eficiente.

"El uso de GCM no garantiza que la aplicación esté bien escrita o sea eficiente". Si bien lo que dice arriba es cierto, todavía me reservo mi opinión de que no usar GCM garantiza que la aplicación no sea eficiente.
@cnst Tonterías. No usar GCM no significa que la aplicación se esté ejecutando todo el tiempo y, en algunos casos de uso, podría ser más eficiente. Por ejemplo, si recibe varios correos electrónicos por hora, un cliente de correo electrónico que se ejecuta cada hora para verificar el correo usará menos energía que uno que recibe un envío de GCM cada vez que el correo llega al servidor.
Supongo que solo tengo en mente la mensajería instantánea y VoIP/SIP, por lo que sigo creyendo que mi afirmación se mantiene.
@cnst Ese es un conjunto muy limitado de usos. No quisiera que otros visitantes pensaran que lo que es cierto para un cliente de IM es cierto para todo tipo de aplicación que pueda usar GCM.
De todos modos, se pierde mi punto original, que es que incluso si GCM es la respuesta correcta para una aplicación en particular, la aplicación aún podría terminar siendo un acaparador de batería o ancho de banda por otras razones.