Migrate push notifications to FCM or Amazon SNS? - apple-push-notifications

I'm using legacy binary APNs and GCM and now I want to upgrade to their newer versions of these services, as recommended on their websites. All I need are push notifications to both iOS and Android devices, though I'd like to add "scheduled notifications" or "bulk push notifications" feature as explained in Firebase Notifications docs.
I'm curious what are the reasons why would someone with these requirements choose Amazon SNS over FCM? Are there any downsides choosing FCM? Is this just a personal preference, meaning the both services will work great for these requirements? Thanks!

The mentioned scheduled notifications can only be done when sending the message via the Firebase Console. If you intend to have implement your own App Server and send the message using the FCM API, you would have to implement the scheduled push yourself. (See here)
For the bulk push notifications, this one can easily be implemented if you use FCM Topic Messaging.
To answer your post (which is pretty much opinion based), I haven't actually used Amazon SNS before, but going with FCM not only allows you to use the new features (compared to GCM), but it can also be a starting point for you to use the other services (Realtime Database, Analytics, Authentication, etc.).

Related

Alternative of cloud functions

I am developing an app for elderly for my graduation project. There are 2 actors, elderly and the watcher who takes care of elderly.
'all application data stored in Firebase'
My app reminds elderly about their medication time and to check their blood pressure and glucose.
Also, there is a chat between elderly and watcher.
My question is how to push notification without using cloud functions?
I have watched a Flutter course and he used Firebase Cloud Messaging and Cloud Functions, but now Cloud Functions requires to upgrade project's billing plan, so it requires money and credit card, and I don't want to spend money for my graduation project especially that I don't have a huge knowledge about flutter.
I watched a YouTube video that someone explains push notification using Laravel with Flutter, but I afraid about that because I DON'T HAVE ANY IDEA ABOUT Laravel.
Also I see that there are many Flutter packages for push notification, but I don't know how to use it or if it uses a Cloud Functions or not. such as: awesome_notifications, flutter_local_notifications, pusher
I hope someone guide me to the right way.
in order to send custom notifications you can create your own server environment (backend) and from there perform all the logic to be able to send the notifications to the devices.
The only thing you need to be able to send a personalized notification from an external environment is to have the token device, in the case that you will send it to a specific person, you can also send notifications if the devices are subscribed to a topic.
This is the documentation to send notifications from a server to the device:
https://firebase.google.com/docs/cloud-messaging/http-server-ref

Migrate parse installation object to firebase

I have an app which uses Parse and I want to migrate it to Firebase. I was extended the parse installation objects to send customized push notifications. I'm wondering if I can migrate these parse installation objects to Firebase and use it from Firebase.
There is no cookie cutter click-though way to import an app that uses Parse.com into Firebase. The products are too different for that.
There are however migration guides for developers looking to migrate their iOS and Android apps on the Firebase site: https://firebase.google.com/support/guides/#migrating_from_parse
There is also a repo with parse-migration-tools from Firebase: https://github.com/firebase/parse-migration-tools
Finally have a look at this question, where experienced developers chimed in already: How to migrate data from Parse.com to Firebase
[Disclaimer: Former lead of Parse Push. Author of parse-migration-tools]
I'm a bit nervous that you're out of luck if you're referring to "installation Ids". Firebase supports iOS and Android. Android devices aren't going to be easy to port for a few reasons, though iOS can be done without too much work. Let's break it down by the push backend:
Most people who talk about "installation Ids" are talking about Parse's self-hosted push network (PPNS or Parse Push Notification Service). This is hosted at push.parse.com and will go away in January. There's nothing anyone can do to keep those devices connected. As an FYI you'll also realy want to update your apps to disable PPNS because it will likely drain your customers' battery when they have a background service repeatedly trying to connect to a URI that isn't going to exist anymore.
If you're using GCM directly, you're still out of luck actually. Parse uses a version of GCM that's too old to work with Firebase. I tried to help fix it, but we weren't able to upgrade to GCM v4 and keep the Parse design style. The new Firebase SDK makes it possible to fix the issue and keep the Parse design requirements, but I'm far too overextended to build this right now. If someone wants to grab a shovel, I'd be glad to explain the right design.
iOS will actually work. I intended to make this turnkey in parse-migration-tools but won't have time until the end of the year. Firebase Cloud Messaging has a batchImport API for importing iOS tokens. I also wrote support for batchImport in parse-migration-tools to help you import your devices (and other data) faster. If I were migrating Parse Push from iOS, I would personally write a migration and bulkImport function that used batchImport to create GCM tokens and subscribed Parse Channels as FCM topics (note the batchAdd method; it may help you more efficiently do your initial import).
This should do the trick:
https://firebase.google.com/docs/cloud-messaging/ios/client#import_existing_user_apns_tokens
You can just importat all of the existing users device id's and FireBase will generate unique id's for them.

rpush vs sns for large scale push notifications

Currently we use Amazon SNS to deliver push notifications to our Android and iOS mobile apps. SNS seems to miss a notification once in a while and there's a particular kind of notification that we can not afford to not deliver. Is there a method that guarantees delivery of every notification while still using SNS? An option I'm considering at the moment is using the rpush gem, but I would like to know how well it performs as compared to SNS.
The backend is written in Ruby/Sinatra.

Can I use PubNub for realtime data collection?

I'm interested in collecting realtime data periodically (say every 1 min.) through a mobile app on my server. Can I use services like PubNub or Pusher for it or are they only for communication in the other direction - like sending push notifications from a server?
If I can use, could you please explain how exactly the setup would work?
PubNub can provide bi-directional real-time datastreams on all devices, including mobile! Any phone (or server) can be a publisher, or a subscriber, or both.
You can choose your SDK of choice here http://www.pubnub.com/developers/ -- each client has docs for a simple hello world app.
If you need more assistance in getting setup with PubNub on mobile, just shoot us an email at support#pubnub.com and we will assist!

Receiving pushed messages from web service

I am working as part of a team using Android and WP7 to create apps that communicate with a server. So ideally we want a consistent approach to receiving the data from the server.
I currently am using HTTPWebRequest to form a SOAP message and send it to a Java-based web service to receive messages (Adding as a ServiceReference didn't work no matter what I tried) At the moment it's a simple case of receiving the full list of things and just recreate the list each time via DespatchTimer to do periodic calls. But of course periodic pollin is likely to be ratehr battery intensive so not the best apporach for my needs.
I now need to change the code so that changes are pushed rather than polled. The team is looking at XMPP to do this as Android libraries are readily available to do this but I am having trouble finding open source libraries to do this.
Microsoft Push seems available but this appears to require a Microsoft based server side environment to push unless I have misinterpreted this? Or even if push notifications are a sensible way to do this.
So what I would like to know is the approach to handling pushed messages in this scenario which i hope someone out there has had experience in
Thanks
Microsoft Push Notification System [MPNS] does not require a MSFT-based server backend. It simply relays the Push Notifications through carrier or other data channels to subscribing phones. You should be able to make HTTP POST requests to MPNS at the Windows Phone subscriber Channel URI & MPNS would deliver the Push Notifications for you. Your server side can be anything, as long as you able to make the HTTP requests.
A good starting point can be found here.
Hope this helps!

Resources