I am developing Android app using GCM. Currently I am using standard Google libs on client and server sides. If I am testing on two Android devices GCM works fine when both devices switched on regardless if my app is running or not.
However if Device A is switched off and I am sending messages to it from Device B, when Device A switched back on it doesn't receive any messages been sent while it was off line.
On server side (which initiates an actual send) every message to Device A has no collapse_key
, time_to_live
is set to 2000000
(just in case for testing purposes). Actual send has retries parameter set to 50
(in case GCM itself is unreachable, however this is unlikely).
Do I need to complete the GCM registration procedure on device boot? Currently I do so.
Please note that GCM broadcast receiver and GCMIntentService were set as well as permissions in manifest as described on Google web site.
Any advice will be much appreciated. I really got stuck with this issue.