I have a server and an App for Android that's using GCM for push notifications, everything works well, I need to start creating an iOS app to do the same. GCM currently supports iOS: https://developers.google.com/cloud-messaging/ios/start
My understanding with the architecture is as follows:
Android GCM:
App->GCM->App->Server (Requesting/Registering Tokens)
Server->GCM->App (sending push notifications)
Is the following correct for iOS using GCM?
App->APNS->App->GCM->App->Server (Requesting/Registering Tokens)
Server->GCM->APNS->App (sending push notifications)
If my understanding is correct, why would I use GCM as it seem to add an extra layer and possibly delays on push notifications? Are APNS limits bypassed/handled with GCM? (ie, Payload size, message storage time, no collapse keys support)