GCM is a service provided by GOOGLE that powers an ANDROID device to send and receive data from servers. It is basically a notification service that the applications on the ANDROID device can use. But the question is, why should I use it? Is it just because it’s free and open to all developers. The answer is a NO, the perks are higher.
But for sure there are other options for users to choose from. Amazon SNS stands the same rung in the ladder. Here we may think of weighing the options as per the services required and then making a choice. To the best of its offering both have several features for the applications but one may weigh heavy on the left and the other on the right of the weighing pan.
So lets have a brief insight into what the products are set to offer and which factor helps you in making the decision.
Heterogeneity: GCM suffers a blow where in the factor of heterogeneous devices comes in. SNS lights the stages with powering all devices whether they run on android, iOS or windows. Moreover with the use of SNS you can connect and send messages to any device that is connected to the internet. This broadens the perspective.
Message delivery: Both SNS and GCM offer to send messages even if the device is offline. But here again in GCM the messages though are delivered user can view them only when connected to the internet. SNS whereas with the use of Amazon SQS (Simple Query Service) allows users to receive notifications in the form of text messages or emails which is an excellent way of receiving messages both online and offline. Here too it holds an edge.
Message storage: Loss of any message is not permissible, avoiding this both services store data in their servers redundantly. Amazon SNS stores the same data redundantly in various storage spaces called availability zones. This prevents any loss of data even if the one server goes down.
Registration: However good the service be, it should be simple to use. GCM provides a very simple approach where registration Id, project ID and API key are the only required parameters, yes it does require some lines of python code too. SNS on the other hand uses three APIs CreateTopic, Subscribe, and Publish to get themselves started.
SNS sounds really cool allowing you to publish messages once and then send it at once or more. So you can have a unique message directed to individual Apple, Google or Amazon devices .Definitely a striking feature but GCM doesn’t need it .On the other hand both provide robust broadcast deliveries to many mobile devices with a single publish request. GCM gives you the facility of sending a single message to a 1000 users.Multicasting is again where both stand on the same level , as both services give their users a chance to send messages to groups . Except SNS can have groups comprising of iOS, google, etc and GCM lands only with groups of Android users.
Security: It is very important when it comes to maintaining security, both the giants have stakes to maintain. Amazon SNS provides access control mechanisms to ensure that topics and messages are secured against unauthorised access. Topic owners can set policies for a topic that restrict who can publish or subscribe to a topic. In addition , topic owners can ensure that notifications are encrypted by specifying that the delivery mechanism must be HTTPS. GCM provides security but definitely not to be relied for sending sensitive messages. So here again SNS scores better on the board.
Pricing: It is the cost that matters too. GCM is absolutely free and open to all developers whereas SNS charges you for the services it provides. The pricing scheme is similar to the cloud based service wherein you pay as per you go. It charges the user for notification delivery, and data transfer for every single message. Sometimes it may mount too high. So here definitely GCM wins hearts by being absolutely free. So here the vote goes for it.
Bi-directional communication: GCM also stands out by providing both upstream and downstream communication ways using the XMPP endpoint. That is your application too can send messages to the server, and vice versa. But SNS does not offer this on the menu. Its only one sided communication that allows messages from servers to the applications.
Restrictions: GCM makes users to follow a number of heuristics like allowing a payload of 4Kb, deleting messages if there are more than 20 in the queue and also discards messages if the device is offline for more than 24hours. This can be sometimes good or sometimes bad depending on contexts they appear in. But SNS has no such rules to follow. It keeps messages in the queue for 15 days and also allows in a way to fix bugs if any.
Conclusion: Both have a lot of differences and a lot of similarities. Both are reliable, scalable, flexible in their services. On one hand where GCM stands out in terms of low price, bidirectional services, compatibility with all versions on ANDROID, SNS holds good with heterogeneity, security and a little less hassle for the users. Both hold good in different aspect and its all for you and on you to make the choice. So choose wisely.
- Top 5 Health and Fitness Gadgets You Need in 2017 - 17 October, 2017
- 5 Amazing Racing Games For Your Android Phone - 6 October, 2017
- Will Your Smartphone Get an Android Update? - 14 September, 2017
- 6 Best Thin Laptops You Should Consider Buying - 6 September, 2017
- Did You Know, Your Android Phone Is A Tracking Device? - 18 August, 2017