Implementación de la notificación push del servidor

Grupo,

Estoy planeando implementar mi propio servidor push notificación servidor a Android / IOS aplicaciones. Así que Mi servidor de aplicaciones (que puede implementarse a través de NodeJs) contactará con Notification Server para enviar mensajes a los dispositivos. Así que navegué a través de Internet y encontré las siguientes soluciones existentes.

Mensajería en la nube de Google

Servicio de notificación push de Apple

Notificaciones de Firefox os push

Servicio de notificación push de Microsoft

Q1)
En sus respectivos sitios; Estaban informando sólo sobre cómo usar su servidor de notificación. Sin embargo necesito información sobre cómo implementaron su empuje de servidor.

Por favor dime; ¿Están siguiendo cualquiera de esto abajo?

Votación

Sondeo largo

Transmisión

Eventos enviados por el servidor

TLS, SSL o conexiones de socket TCP con Cliente

XMPP

Q2)

Debajo de dos métodos están demandando que aunque mi app no ​​esté funcionando; Todavía pueden enviar una notificación a APP? ¿Cómo es eso posible?

Servicio de notificación push de Apple

Notificaciones de Firefox os push

Q3)

En Firefox os push notificaciones; Han informado que estaban evitando mantener vivo para ahorrar batería. Mi pregunta es sin keep-alive cómo determinar la conexión es todavía vivo o no?

Q4)

¿Es esto todo esto (GCM / APNS / FireFox OS) la aplicación es sólo el lado del servidor empujando, y no aceptará las solicitudes de cliente. ¿Estoy en lo correcto?
Así que todavía mi servidor tiene que manejar millones de solicitudes de dispositivos distintos de mensajes push, ¿verdad?
Si uso websocket entre mi propio servidor de notificación y los dispositivos cliente, ¿necesito mantener una conexión websocket más entre mi servidor de aplicaciones y los clientes para recibir solicitudes de dispositivos?

Hay buenos artículos disponibles a través de Internet, puede ir a través de usted obtendrá respuestas. Sin embargo, estoy tratando de responder a su pregunta: Las respuestas son en su mayoría cierto para android y google servidores.

Ans1) Tienen sus oyentes que tiene que ser utilizado por usted mediante el uso de sus clases de biblioteca en su código. Usted no necesita molestarse en empujar. Usted tiene que enviar el mensaje al servidor servidor empujará el mensaje al dispositivo. Ellos usan OAuth. En cuanto a los protocolos, hay dos métodos que utilizan CCS y XMPP. CCS sólo utiliza XMPP como una capa de transporte autenticada, por lo que puede utilizar la mayoría de las bibliotecas XMPP para administrar la conexión. Para enviar notificaciones al dispositivo puede escribir código en la aplicación android para enviar, así como el código del servidor. El mensaje que envía será hecho solamente por su código. El resto será cuidado por Google Server en el caso de GCM. Puede consultar los detalles en este enlace

http://developer.android.com/google/gcm/server.html

Además, por cuestiones de seguridad

Google cloud messaging security https://groups.google.com/forum/#!topic/android-gcm/M-EevBitbhQ

Respuesta 2) Sí en caso de que su aplicación no se está ejecutando, también los dispositivos vcan recibir notificación porque usted tiene que escribir código para los oyentes de radiodifusión. En el fondo estará escuchando al servidor y siempre que cualquier paquete del mensaje esté allí él recibirá el mensaje como notificación. Android tiene servicio que necesita para no preocuparse por ello. Sólo tienes que usar esos recursos utilizando la clase de biblioteca que facilita tu trabajo y dejarlos escribir si tu aplicación no se está ejecutando y además recibe notificación. Obviamente, habrá algún oyente que haga que la aplicación reciba. Marque la sección "Recibir el mensaje" en este enlace

http://developer.android.com/google/gcm/client.html

Ans 3) – Firefox OS Push notificaciones están diseñados para una cosa – despertar aplicaciones. No se ocupan de los datos. Compruebe este enlace

https://hacks.mozilla.org/2013/07/dont-miss-out-on-the-real-time-fun-use-firefox-os-push-notifications/

Ans 4) – No se acepta la solicitud de los usuarios también. No estoy seguro para otros, pero para GCM lo hará. Por favor marque "Enviar un mensaje"

http://developer.android.com/google/gcm/client.html

Espero que esto te ayude con tu pregunta.

La notificación de empuje de Apple está controlada por iOS no por la aplicación. Por lo tanto, esto está disponible incluso si la aplicación no se está ejecutando. Para enviar una notificación, abra una conexión ssl al servidor de Apple y envíe la carga útil de notificación de empuje. No hay sondeo ni nada, ya que iOS manejará todo.

Si tiene la intención de escribir su propio servidor no puede enviar notificación de usuario y se agotará la batería, ya que tendrá que retirar el mensaje de su propio servidor. APNS de Apple está controlado por iOS, se conecta al servidor de Apple una vez es un tiempo y recopilar todas las notificaciones push para todas las aplicaciones en el dispositivo.

Detalles técnicos a un lado, hay varias soluciones de terceros como Amazon SNS. Por millón de notificaciones debe ser alrededor de $ 0.50. Al comparar este pequeño costo que implementar sus propios servidores / servicios (tiempo, costos, confiabilidad), creo que debe dedicar el tiempo a otros aspectos de su proyecto.

  • OneSignal: no se puede abrir la actividad después de hacer clic en el botón
  • Tamaño de icono de la barra de estado de Android - Uso de Cordova / Phonegap Push Plugin
  • ¿Las notificaciones no siempre se reciben por teléfono?
  • No se pueden recibir mensajes con Google Cloud Messaging para Android (no la biblioteca de ayuda)
  • Enviar notificaciones push a la aplicación en una configuración limitada - fake_push_profile not found Ionic
  • GCM BroadcastReceiver setResultCode uso
  • El clic de Android en la notificación no abre la Actividad adjunta
  • FCM: onMessageReceived no se llama, la notificación no llegó incluso después de enviar msg a fcm?
  • Android: administrar múltiples notificaciones push en el dispositivo de una aplicación
  • Parse Push - Cómo abrir automáticamente una actividad sin la acción del usuario al recibir un empujón en Android
  • GCM push notificación. Notificación incorrecta publicada - No se pudo expandir RemoteViews para: StatusBarNotification
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.