¿Cómo funciona C2DM? -- tifications camp android Relacionados El problema

How does C2DM work?


1
vote

problema

Español

Actualmente estoy desarrollando una aplicación y, como implementé la función C2DM, me hizo pensar cómo funciona esto?

¿Funciona a través de la encuesta? ¿Hay un SMS oculto? ¿Cómo están presionando el mensaje en mi dispositivo?

Original en ingles

I'm currently developing an App and as I implemented the C2DM feature it got me thinking how does this work?

Does it work via polling? Is there a hidden SMS? How are they pushing the Message on my device?

  
     
     

Lista de respuestas

1
 
vote

Basado en este documento : y esto es básicamente cómo funcionan otros servicios de notificación de empuje también ...

  1. La aplicación solicita un token para el dispositivo
  2. c2dm responde con el token de registro para el dispositivo específico
  3. La aplicación envía el token a su servidor en la web.
  4. Su servicio ahora puede comunicarse con C2DM (después de autenticar), y usar los tokens del dispositivo registrado, C2DM enviará los mensajes a los dispositivos.

En el lado C2DM, el token está asociado con un dispositivo específico. Cuando envía una notificación push a través de C2DM, los servidores de Google envían esa información al dispositivo. Bibliotecas C2DM en el dispositivo "Escuche por ellos" y pásalas a los intentos según sea necesario.

 

Based on this document: And this is basically how other push notification services work as well...

  1. The application requests a token for the device
  2. C2DM responds with the registration token for the specific device
  3. The application sends the token to your server on the web.
  4. Your service can now communicate with C2DM (after authenticating), and using the registered device tokens, C2DM will send the messages to the devices.

On the C2DM side, the token is associated with a specific device. When you send a push notification through C2DM, the Google servers send that info to the device. C2DM libraries on the device "listen for them" and pass them on to the intents as needed.

 
 
         
         
0
 
vote

Android proporciona intenciones de todo el sistema para tal tipo de activación de la aplicación. Para C2DM, hay una clase completa de intentos como com.google.android.c2dm. *. Para usar estos intentos, deberá agregar receptores de transmisión en su aplicación y registrarlo con el sistema.
Para hacerlo realmente funcionar, también necesitará un servicio de empuje remoto. Su software en el servidor debe ser capaz de enviar mensajes en el servidor C2DM de Google utilizando HTTP / HTTPS.
Ahora, siempre que se establezca una comunicación basada en el protocolo PUSH de C2DM, el sistema Android activa la aplicación en función de las intenciones registradas en la hora de la instalación de la aplicación ...

Actualización:
Más claramente, cuando su aplicación Push Server presiona el mensaje al servidor C2DM de Google, Google comprueba el token adjunto con el mensaje. Se importa, este token fue generado por com.google.android.c2dm.intent. Registrarse si el usuario había iniciado sesión con la cuenta de Google. Entonces, usando este token, Google viene a conocer la ubicación de entrega exacta. Luego, Google hace uso del marco de Google Services para presionar el mensaje en Formato de par de valores clave en bruto ...

sondeo o no?
No. Las utilidades de TI son la misma tecnología de tipo de empuje en el que la conexión entre servidor y amplificador; El cliente se mantiene abierto. Entonces, no hay necesidad de dirigir el servicio de sondeo.

 

Android provides system-wide intents for such type of app triggering. For C2DM, there's a whole class of intents looks like com.google.android.c2dm.*. To use these intents, you'll need to add broadcast receivers in your app and register it with system.
To make it really work, you'll need remote push service too. Your software on server must be capable of messaging to Google's C2DM server using HTTP/HTTPS.
Now, whenever a push protocol based communication from C2DM server is established, Android system triggers app based on intents registered at the time of app installation...

Update:
More clearly, when your application push server pushes message to Google's C2DM server, Google checks token attached with message. Mind it, this token was generated by com.google.android.c2dm.intent.register if user had logged in with Google Account. So, using this token, Google comes to know exact delivery location. Then, Google makes use of Google Services Framework to push message in raw key-value pair format...

Polling or not?
No. It utilities same email push type technology in which connection between server & client is kept open. So, no need to run polling service..

 
 
         
         

Relacionados problema

6  ¿Por qué desaparecen las notificaciones "actualizadas con éxito"?  ( Why do the successfully updated notifications disappear ) 
¡Noté un comportamiento extraño al actualizar las aplicaciones con el nuevo pan de jengibre (2.3.5?) Y ahora construye el sándwich de helado (4.0.3). También ...

4  ¿Cómo configuro los recordatorios que usan acciones de voz en ICS 4 - Galaxy Nexus?  ( How do i set reminders using voice actions in ics 4 galaxy nexus ) 
dispuesto a pagar por una aplicación. gracias ...

2  ¿Es posible superar permanentemente las actualizaciones de la aplicación? [duplicar]  ( Is it possible to permanently supress app updates ) 
Esta pregunta ya tiene respuestas aquí : cerrado hace 8 años . posible duplicado: ¿Cómo oc...

1  No hay notificaciones durante las horas nocturnas  ( No notifications during the night hours ) 
Tuve el defensor de jugo instalado en mi teléfono por unas semanas, pero luego decidí eliminarlo. Una de las configuraciones que configuré fue deshabilitar la...

0  ¿Por qué mi teléfono vibra cuando se pierde el servicio?  ( Why does my phone vibrate when service is lost ) 
Mi teléfono (Huawei X1) ha comenzado a vibrar siempre que pierdo el servicio y es realmente molesto. ¿Alguien sabe de todos modos para arreglar esto? O tal ve...

46  ¿Cómo deshabilito la notificación de "Seleccionar método de entrada"?  ( How do i disable the select input method notification ) 
No sé si este es un comportamiento estándar de ICS o si se debe a la ROM basada en My CyanogenMod, pero cada vez que abro el teclado suave haciendo clic en un...

2  Sin notificación para la carga automática de imágenes y videos en Google +  ( No notification for automatic upload of images and videos in google ) 
¿Cómo puedo configurar mi teléfono 2.3.5 para que no obtenga una notificación para la carga automática de imágenes y videos en Google +? ...

12  Cómo determinar qué aplicación está creando una notificación  ( How to determine which app is creating a notification ) 
Estoy ejecutando Android 2.2 en HTC Legend. Tengo muchas aplicaciones instaladas en ella. Hoy, después de que cambié mi operador móvil, apareció una notific...

5  Volumen de notificación SMS y Gmail  ( Sms and gmail notification volume ) 
¿Hay una aplicación que pueda controlar el volumen de notificaciones para aplicaciones separadas como SMS y Gmail? Busqué alrededor y encontré una serie de hi...

1  Use el archivo WAV para la notificación de sonido al recibir un nuevo mensaje de Facebook / Google +?  ( Use wav file for sound notification when receiving a new facebook google messag ) 
¿Cómo puedo cambiar la notificación en mi dispositivo Android 2.3.5 para que pueda usar un archivo WAV dado para la notificación de sonido al recibir un nuevo...

2  ¿Por qué mi galaxia me está notificando sobre un nuevo mensaje cuando mi bandeja de entrada está vacía?  ( Why is my galaxy s notifying me about a new message when my inbox is empty ) 
Mi Galaxy S sigue diciéndome que tengo un mensaje de texto. He borrado toda mi bandeja de entrada, pero la notificación no desaparecerá. ¿Cómo hago que esta n...

5  ¿Cómo puedo hacer que una notificación calendario seleccionada se comporte como una alarma, es decir, audible incluso en modo silencioso?  ( How can i make a selected calendar notification behave like an alarm that is a ) 
Mantengo mi teléfono en silencio la mayor parte del tiempo, pero le gustaría recordatorios audibles para recordatorios críticos de calendario. Corto de silenc...

5  ¿Cómo puedo configurar diferentes tonos de notificación para cada una de mis cuentas de correo electrónico?  ( How can i set up different notification tones for each of my email accounts ) 
Tengo una carrera biónica de Android 2.3.4. Recibo correo en unas pocas cuentas a través de la aplicación de correo electrónico de stock y quisiera un tono de...

4  ¿Estrella roja y iconos de la cruz verde? [duplicar]  ( Red star and green cross icons ) 
Esta pregunta ya tiene respuestas aquí : cerrado hace 8 años . posible duplicado: es este ...

6  ¿Vibrar notificaciones solo al recibir correos electrónicos de ciertas direcciones?  ( Vibrate notifications only when receiving emails from certain addresses ) 
¿Es posible establecer notificaciones de vibración al recibir correos electrónicos de una lista de direcciones de correo electrónico pero no al recibir correo...

4  ¿Cómo detener la molestia "Network Network Network Network" no encontrada "?  ( How to stop annoying cellular network not found popup prompt ) 
Estoy molesto por esta ventana emergente porque si mi proveedor de servicios de red celular no está disponible, no quiero usar otros disponibles. Solo quiero ...

16  Falso "Bajo en el espacio" (almacenamiento interno) Advertencia en HTC Incredible  ( False low on space internal storage warning on htc incredible ) 
hace un tiempo, publiqué otra pregunta aquí Cuando tenía un montón de almacenamiento interno gratuito, pero estaba obteniendo la siguiente advertencia: L...

12  Ocultar notificaciones "actualizadas con éxito" de Google Play / Market  ( Hide successfully updated notifications from google play market ) 
Tengo muchas aplicaciones en la actualización automática y yo realmente no le importa cuando la mayoría de ellos se actualice. Casi siempre tengo 3 notifica...

10  El indicador de correo de voz no va a desaparecer  ( Voicemail indicator wont go away ) 
En mi atrix que ejecuta 2.3.6, hay un icono permanente en mi barra de notificación que dice que tengo un correo de voz no leído. Entiendo que este icono está ...

4  LED no se apague  ( Led wont turn off ) 
Después de recibir un mensaje, el LED parpadeó para la notificación. Después de leer el mensaje, el LED brilla en azul oscuro y no entra en estado anterior, e...

Relacionados problema

6  ¿Por qué desaparecen las notificaciones "actualizadas con éxito"? 
4  ¿Cómo configuro los recordatorios que usan acciones de voz en ICS 4 - Galaxy Nexus? 
2  ¿Es posible superar permanentemente las actualizaciones de la aplicación? [duplicar] 
1  No hay notificaciones durante las horas nocturnas 
0  ¿Por qué mi teléfono vibra cuando se pierde el servicio? 
46  ¿Cómo deshabilito la notificación de "Seleccionar método de entrada"? 
2  Sin notificación para la carga automática de imágenes y videos en Google + 
12  Cómo determinar qué aplicación está creando una notificación 
5  Volumen de notificación SMS y Gmail 
1  Use el archivo WAV para la notificación de sonido al recibir un nuevo mensaje de Facebook / Google +? 
2  ¿Por qué mi galaxia me está notificando sobre un nuevo mensaje cuando mi bandeja de entrada está vacía? 
5  ¿Cómo puedo hacer que una notificación calendario seleccionada se comporte como una alarma, es decir, audible incluso en modo silencioso? 
5  ¿Cómo puedo configurar diferentes tonos de notificación para cada una de mis cuentas de correo electrónico? 
4  ¿Estrella roja y iconos de la cruz verde? [duplicar] 
6  ¿Vibrar notificaciones solo al recibir correos electrónicos de ciertas direcciones? 
4  ¿Cómo detener la molestia "Network Network Network Network" no encontrada "? 
16  Falso "Bajo en el espacio" (almacenamiento interno) Advertencia en HTC Incredible 
12  Ocultar notificaciones "actualizadas con éxito" de Google Play / Market 
10  El indicador de correo de voz no va a desaparecer 
4  LED no se apague 



© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos


Licensed under cc by-sa 3.0 with attribution required.