I'm using Google Cloud Messaging in one of my products; over the last two years I've had two outages, one of them caused big problems when it sent 100000 emails 12 times to all users, many users unsubscribed and sent outraged responses.
I've since then made my side more durable to be able to handle failure on cloud messaging and haven't had issues since.
All new projects I'm building, I'm using RabbitMQ AMQP - reliability is baked into it, last time I checked, Google Cloud Messaging is running over HTTP(s) which is not considered reliable by design - there's no guarantees that messages will be delivered whereas AMQP can give you those guarantees up to a point.
Quote:
Cloud Pub/Sub is designed to provide “at least once” delivery by storing copies of messages in multiple zones to ensure that subscribers can receive messages as swiftly as possible. All message data is encrypted and protected on the wire and at rest.
So according to their design, you might get messages delivered in duplicates, be prepared for that. Other than that, it's not that unreliable.