Enterprises face a number of challenges when they need to develop a back end that supports mobile app messaging...
across platforms. They can manually code this logic, but the various mobile ecosystems around Apple and Android constantly evolve. When they want to support mobile web, Windows Mobile and Kindle Amazon Device Messaging, things get even more complex.
Several push notification services, including Amazon Simple Notification Service (SNS), Google Firebase Cloud Messaging (FCM) and Azure Notification Hubs (ANH), aim to reduce this complexity. These tools handle the integration of push notifications across mobile devices, enabling developers to focus only on application logic. There are some differences between them, though. For example, Amazon SNS is the best option to support text messaging, while Google FCM is a better option for offline caching.
The challenges of push architectures
Push notification services represent a new pattern of application development in which data messages are pushed out to clients. This is a departure from client-side polling architectures, where web or mobile app clients request data from the server. Push architectures can reduce CPU and network usage and bring greater energy efficiency to mobile devices. But it can be challenging to implement different push notification services across multiple mobile ecosystems, such as iOS, Android and Windows Mobile. For example, apps targeting Apple Push Notification Service (APNS) only support iOS, though Google has done a better job with FCM to support both Android and iOS. To reduce developer overhead, enterprises can standardize on FCM, SNS or ANH to provide a single push interface. If an enterprise adopts SNS or ANH, it should encourage developers to use that specific service, rather than code directly against FCM, APNS or another service.
Developers also need to address security issues, including certificate management for the server and token management for the clients that differ across ecosystems. SNS and FCM can reduce this complexity with an abstraction layer to code against. When targeting SNS or FCM, developers write logic that deploys and manages execution of the code and associated security tools across multiple push notification services.
Use SNS to stay in the AWS ecosystem
Amazon SNS is a good option for enterprises that want to maintain most of their back-end code on top of the AWS ecosystem. This means less work for developers who want to drive notifications via AWS Lambda functions or Amazon CloudWatch notifications. SNS infrastructure can also streamline distributed app development, as it includes tools to pass messages between microservices.
Amazon SNS supports direct SMS delivery. This helps reach a broader number of phones, and it simplifies the development of multifactor authentication security via text message delivery.
FCM enables better offline architectures
Google FCM is an alternative push notification service for enterprises that host some of their code on top of the Google cloud ecosystem.
FCM does not support SMS delivery directly. Enterprises can bridge this gap with a Twilio-FCM integration, but this adds more complexity.
FCM evolved from Google Cloud Messaging (GCM), which has since been deprecated. FCM supports all the features of GCM but adds better support for offline access and presence services, which make it easier to confirm when a user is connected to a network.
FCM uniquely supports offline data caching, which allows the mobile OS to manage pushed data in the background. Native and mobile web applications can provide a far more responsive user experience, particularly on spotty network connections. This style of application development is still in its early stages, but it will grow in importance over the next couple of years.
ANH and other third-party options
In addition to SNS and FCM, enterprises can choose a variety of other push notification services, including ANH. ANH provides many of the same core features as FCM and SNS, but it does not support SMS text messages or offline data caching. The service is designed to scale easily and work across a wide variety of back-end applications.
ANH offers better localization support and customized mass market user engagement. Better localization support aims to make it easier to dynamically adjust application logic in different languages and countries. Microsoft, which has invested heavily in dynamic tagging, makes it easier to customize content based on activity, interest, location, preference or business logic with ANH.
Third-party push notification services, like Urban Airship, Pushwoosh and PubNub, might also be viable options for data analytics for applications involved in marketing campaign management.
Learn how to better develop AWS mobile apps
Keep tabs on performance with AWS push notifications
Make a match with the right AWS messaging service