Here is some specifics on how Amazon SNS works. AWS SNS allows you to use one notification system regardless of the device. http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html.
You also asked about code samples: Here is a code that uses the AWS SDK for Java to publish a message to a GCM Model endpoint: http://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html#SNSMobilePushGCMAPI
Here is an example using the REST/Query API : http://docs.aws.amazon.com/sns/2010-03-31/api/API_Publish.html
There is no limit on how many messages can be sent through a single topic. This lists the only SNS limit: http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_sns : Default limit (meaning it can be raised, not a hard limit) of 3,000 topics. Have one topic, or at most one topic for each device type. This is because one topic can support deliveries to multiple endpoint types. For example, you can group together iOS, Android and SMS recipients. When you publish once to a topic, SNS delivers appropriately formatted copies of your message to each subscriber.