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.
- Firebase Push Notification - Cómo mostrar mensaje multilínea en Notificación
- notificaciones push de Google Chrome android
- Android Push Notification, cuando la aplicación está cerrada Tengo un estilo diferente
- Enviar Notificaciones push a iOS / Android en WiFi cerrado (sin conexión a Internet)
- Activación inteligente "androide" desde una notificación push
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?
- Cómo implementar notificaciones push para android en React Native
- Un servidor que envía notificaciones push a dispositivos Android e iOS
- ¿Por qué firebase push_token devuelve la lista negra?
- Cómo mostrar las notificaciones Heads up android
- Analizar notificaciones push en Android
- ¿Está com.google.android.c2dm.intent.RECEIVE todavía en uso?
- FCM devuelve error: NotRegistered después del primer mensaje
- No se puede iniciar la aplicación de receptor com.parse.ParseBroadcastReceiver en Trigger.io
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
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.
- ¿Cómo obtener libcap (biblioteca de capacidades de Linux) para Android?
- ANR en SurfaceView en dispositivos específicos solamente – La única solución es un tiempo de sueño corto