There are several different services that you can use to send push notifications to the users of your applications. The platform you use largely depends on which app store your customers use to obtain your app. The most common platforms are Apple Push Notification service (APNs), Google Cloud Messaging (GCM), Firebase Cloud Messaging (FCM), Baidu Cloud Push, and Amazon Device Messaging (ADM).
Apple Push Notification Service
Released in 2009, APNs was the first push notification service designed to allow third-party developers to send messages to their users. Application developers can use APNs to send notifications to mobile app users on iOS devices, including iPhones and iPads. You can also use APNs to send notifications to macOS desktop apps that are purchased through the macOS App Store, and to allow websites to send notifications to the Safari web browser.
Google Cloud Messaging
Google's first push notification platform, C2DM, was limited in its capabilities. For example, C2DM imposed limits on the number of messages that could be sent per second, and limits on the size of the message payload. GCM, released in 2012, made significant improvements in these areas, while adding several new features.
In 2015, Google announced that GCM would be replaced by FCM. Although you can continue to use GCM, you'll gain access to additional features by migrating to FCM.
Firebase Cloud Messaging
Firebase began as an independent company that offered a development platform for web and mobile application developers. One component of the Firebase platform was FCM, a messaging service for Android apps. FCM also provides an interface that developers can use to send messages to iOS apps.
Google purchased Firebase in 2014. Shortly after that, Google announced that FCM would replace its existing messaging service, GCM. FCM is considered the successor to GCM. It uses the same core architecture as GCM, but includes new SDKs that make it easier for developers to integrate push notification capabilities into their apps.
Baidu Cloud Push
The Google Play store isn’t currently available in China. This means that you can't use Google's push notification platforms to send messages to Android device users in China. However, you can use Baidu Cloud Push to send messages to users in China who downloaded your app from the Baidu App Store.
Baidu is a Chinese company that offers, among many other products, an app store specifically for Android users in China. In fact, the Baidu App Store is one of the most popular app stores in China.
Amazon Device Messaging
Even though they're Android devices, Amazon Kindle Fire tablets use Amazon's own app store, as opposed to the Google Play store. You can use ADM to send push notifications to customers who download your apps through the Amazon App Store. ADM is supported by all Kindle devices, with the exception of first-generation Kindle Fire devices.
Using Amazon Pinpoint to send push notifications
There are several products that you can use to send push notifications to your users, regardless of the device platform or app store they use. For example, you can use Amazon Pinpoint to create segments of your customers based on their attributes—including their geographical location, device type, and app version. After you create these segments, you can send targeted push notifications to your users—regardless of their device type or platform—by using the Amazon Pinpoint management console or the Amazon Pinpoint REST API.