Search code examples
androidpush-notificationlong-pollinggoogle-cloud-messaging

Receive Android GCM messages so slow?


Google Cloud Messaging (Push message) problem.
I have two smartphones(HTC Sensation XE, Desire HD) and a tablet(Samsung Galaxy Note 10.1 Wifi).
Sometimes I need to wait for almost 15 minutes to receive the GCM push messages. Sometimes I receive the GCM push messages immediately(within 30 secs).
Is it normal? Or just because I'm under Wifi connected?
If it is normal, are there any other services like "long-polling" I can use for retrieving messages from server?
I'm currently using GCM+Polling(AlarmManager) to retrieve messages from remote server.
Any suggestions or better ideas?

Below is my test result:
The left side is server send time, while the right side is client mobile receive time.
All the test results are under Wifi connected environment.
==========================
HD 23:10:18, 23:24:XX

XE 23:11:21, 23:22:44

Note 23:10:20, 23:14:54

==========================
HD 00:08:12, 00:08:27

XE 00:07:55, 00:07:58

Note 00:08:04, 00:13:35

==========================
HD 00:40:21, 00:55:22

XE 00:39:56, 00:40:14

Note 00:40:13, 00:40:59

Thanks!!


Solution

  • GCM uses throttling when there's excessive use, see the following document for more details:

    http://developer.android.com/google/gcm/adv.html#throttling