At the moment, I'm looking for justification (if any) for using a service like Kinvey for push notifications for mobile devices. Take the example where there's an existing DB of customers, and you're (probably) able to associate one or more devices with each customer by adding a table that links them.
At the moment, I'm looking for justification (if any) for using a service like Kinvey for push notifications for mobile devices. Take the example where there's an existing DB of customers, and you're (probably) able to associate one or more devices with each customer by adding a table that links them.
Apparently Kinvey does the "push work" for you (i.e. sends push notifications to iOS and Android devices), however it looks like you still need to build the list of customers and their devices anyway so that it knows where to send them.
I figure I could extend TBackendPush and just do the push to Apple and GCM myself. Of course this all entails extending a backend service (or building one).
Would there be any advantage here in using something like Kinvey?
Apparently Kinvey does the "push work" for you (i.e. sends push notifications to iOS and Android devices), however it looks like you still need to build the list of customers and their devices anyway so that it knows where to send them.
I figure I could extend TBackendPush and just do the push to Apple and GCM myself. Of course this all entails extending a backend service (or building one).
Would there be any advantage here in using something like Kinvey?
/sub
ReplyDeleteevery time we needed to send PN's for a project, we evaluated and re-evaluated our options, every time, same conclusion: build your own, but build it smart, i.e. implement only what you need, nothing more
ReplyDeleteusually, we have the following:
- a generic method for scheduling a PN for delivery;
- 1 or more threads that take care of checking for PN's that need to be delivered(scheduled), based on target platform(iOS|Android), it's going to send it and it's payload to APNS(via HTTP/2) or GCM(plain HTTP, note that FCM is the "new way" now)
you should be able to have everything squared and as you need it within a few days with all required testing
have fun!
PushNotification works the same way on Android and iOS.
ReplyDelete1) the mobile registers himself on GCM/APN and receives a token
2) the mobile sends the token to a website
3) the website uses the token to send a notification through Google/Apple website
so if you have your own website, you can use notification without Kinvey...note also that Kinvey offers other services than just notification.
I've made a PushNotification provider for Seattle on my french site:
http://lookinside.free.fr/delphi.php?TPushNotification+maison+pour+Seattle
TExecutePushProvider is an empty component to let PushEvents works (there's a lot of code beside this component to let it works :)
then use PushEvents1DeviceTokenReceived to register the Token.
I've put some PHP code to send a notification with this Token...but it can be done with a Delphi also...it's just a web request.
Main advantage is not having to maintain your back-end architecture.
ReplyDeleteIf using Kinvey to do more than push, something to keep in mind is their ludicrous price for storage: even the $2000 plan has only 30 GB of data, which is quite frankly nothing.
For reference, $2000 per month can pay for 15+ TB of triple-redundant SSD storage, plus 2+ TB of RAM, plus 120+ high-speed physical CPU cores, plus almost 20 GB/s of guaranteed bandwidth....
Eric Grange Yeah, saw the pricing.. yikes!
ReplyDeletePaul TOTH Thanks!
ReplyDeleteSome months ago, I discovered uniqush.org - Uniqush - Push Notification Solution for Mobile Platforms [Home] which is an OpenSource unified push service for server-side notification to apps on mobile devices. It is written in go, and is maintained. Just install uniqush in a Linux box, then you can push notifications using REST commands, leaving the service with all the plumbing. Then you have self-hosted and free solution, and it handles subscription lists...
ReplyDelete/sub
ReplyDeleteUsing urban airship here. Decent and cheaper but I would look into the amazon server SNS
ReplyDelete/push
ReplyDeleteMike Margerum Thanks.. "cheaper" is an understatement :-)
ReplyDeleteIf they do not deliver really really lots of added value and time savers why rely on another service, in another part of the world, with another government and another system of power supplies? You'll be in pain when they fail because your end users will think you failed.
ReplyDeleteUrban airship is cheap and they even have a free tier. As someone else stated, maintaining your own APNS server to talk to Apple's is not a trivial endeavor. Urban Airship has been around for a long time and it comes with an SDK that makes handling notifications trivial.
ReplyDeleteI've built my own APNS server before (about 3 years ago). It wasn't trivial, but it wasn't rocket science, either. That said, an inexpensive service is probably a better option; as long as it is reliable and kept up to date.
ReplyDelete/sub
ReplyDelete