You should think of Push Notifications as a transport channel, nothing more. Each mobile platform (Apple, Google, Microsoft) uses its own cloud to access your device, and this may be enough. Once you reach, your mobbile application can do whatever it needs (for example, for more information about the notification, since the size of the Push message is usually limited).
Given this, you do not need to create a single server application that communicates with three clouds when sending notifications.
source share