How to build push notification in mobile application using mosquitto? - push-notification

I learned that PUSH NOTIFICATION service is like a persistent TCP connection.
But I don't know how maintain the connection even if the phone terminate the app.
In mobile application, if the subscription is destroyed, how we publish and deliver the message?
Should I use GCM, APNS or SMS? And wait until client subscribe the topic?

That's correct, you have to be connected with the broker (mosquitto broker in this case) to receive the push notification (you also must be subscribed to topic).
In Android I'm using paho client libray, a Service for keep connection in background, and BroadcastReceiver to start service at reboot.
For iOS you can find swift and Objetive-C MQTT-client librarys (I'm using CocoaMQTT) but you can't keep connection in background indefinitely. You have to use APNS.

Related

How to send push notification from Kamailio? Both GCM and APNS

I am creating custom SIP client (Android & IOS), which uses Kamailio as a proxy and it's required to send push notification from Kamailio to the clients when a call towards that client reached on Kamailio.
I found a module for APNS here https://github.com/tvntsr/push. But I am developing both Android and IOS clients.
So What mechanism can I use on the Android side?
Is there any module available for GCM(Google Cloud Messaging) in Kamailio?
Or is there any other mechanism for availing both GCM & APNS on Kamailio?
Reasonable version is write custom module or do insert into mongodb or mysql )with event message), after that process it by external script.
Also possible do curl(http) request to external module, but that block core in kamailio. Avoid block core, result is zero perfomance.
Unfortanly any method also require delay and re-invite after push done, so this project is doable, but not for average kamailio "expert" (for sure not for novice).

Windows Phone 8.1 + SignalR - receiving push notifications on background/shut down

I'm writing Windows Phone 8.1 application and I want to receive the push notifications from the SinglaR server. It is working, but only when the application is on the foreground.
How can I receive the notification when the application is in the background or shut down?
Does PushNotificationTrigger catches the notification from the SignalR? Or does the PushNotificationTrigger work only with WNS?
Thank you
SignalR offers realtime connection and data exchange while the application is active and connected. Once application goes to background it is effectively closed and all active connections are closed.
If you want to send push notifications, that is something OS offers and is not something you do via your own framework. If you want to receive notifications while the application is closed, you need to use the standard push functionality built into the platform. And which is completely separated from SignalR.
You can still use your website to send push notifications though.

Push notifications delay with GCM

We have an app (Ruby on Rails) that sends push notifications to an android app and we're facing an issue with GCM where some of these notifications are either delayed or never received. Considering the fact that these notifications are being sent to employees and not end-users my questions is:
What the best way to send these push notifications without any delay or drop and is there a way to send push notifications independently from the available services such as GCM and SNS?
Please keep in mind that we're looking for a solutions that can send these notifications without any delay as for the app to perform well the notification must be received within 1 to 20 seconds from the time it was sent.
Thanks in advance for anyone that will reply to this question...
Have a look at "Pushy":
They state the following on their website:
The most reliable push notification gateway, perfect for real-time
applications.
Google Cloud Messaging simply doesn't cut it for time-sensitive,
real-time apps, due to its instability and push notification
throttling.
Pushy works by maintaining a dedicated background socket connection
using the MQTT protocol, an extremely light-weight pub/sub protocol
that consumes very little network bandwidth and battery, which makes
it perfect for mobile.
You can use it for free with up to 100 devices, so you could just give it a try to see, if it fits your needs. I didn't try it.

How Push Notification Services really work?

I am trying to understand how exactly push notification services work.
Are these real push services with constant connection to server or just mimics by polling?
How does a server with heavy traffic maintain so many connections?
In general push notifications work both by establishing a long-lived TCP connection, or using long-polling. The maximum number of connected clients is determined by the server resources.
Take a look at the Socket.io protocol stack for an example. Or better yet, at the XMPP/Jabber protocol, which relies on TCP principally and falls back on long polling.
Fusio is correct. For mobile phones, a single push service is typically used (Google cloud messaging for android, Apple Push Notification Service for Apple/iPhone) to limit the amount of connections from the phone. 3rd party applications register to these services and push messages through them.

push notification explanation

What are push notifications and how do they work? Also what is the difference with googles cloud to device messaging? Is c2dm also a push notification? Also do I need Special server setup to implement push notification?are push standard or every device has different implementation?
Basically the server maintains a list of connected clients. Whenever something of interest occurs, the server sends the data/notification/updated state to the connected clients. This is in contrast with pull, where the clients poll the server for changes.

Resources