I have been using Erlang/Ejabberd to customized an IM application for my current company in the past three years. The system is very stable and has over 5 million users at the moment.
The system is running on AWS(RDS, EC2, Load Balancer). FCM and APNs are used to do push notification for Android and iPhone respectively whenever a user has offline message. A customized Ejabberd is used as push notification for the firmware my company is made.
Although I didn't use AWS's Mobile push notifications because my project doesn't need to use it, but the principle of push notification is the same, and based on the experience of FCM, APNs and customized Ejabberd, using AWS's Mobile push notifications for me isn't any difficult at all.