new GCM version

Showing 1-12 of 12 messages
new GCM version Francesco Nerieri 8/1/12 10:00 PM
Hi there,

we rolled out a few more features this week:
1- the format of the values in the data section of your JSON request
must be a string
2- 'from' has historically been a reserved keyword in C2DM/GCM, we
added a check that if you use the "from" key in your data section we
will return an error. From now on all reserved keys will have the
format: google.key
3- we added a 'dry run' feature for you to test your request without
actually sending a message; in the payload simply add the parameter:
"dry_run = true". GCM will validate your messages without actually
sending it

Cheers,
  f

---
https://plus.google.com/u/0/104524825852741167674
Re: new GCM version Luca Morettoni 8/14/12 5:35 AM
On Thu, Aug 2, 2012 at 7:00 AM, francesco nerieri
<francesc...@gmail.com> wrote:
> 3- we added a 'dry run' feature for you to test your request without
> actually sending a message; in the payload simply add the parameter:
> "dry_run = true". GCM will validate your messages without actually
> sending it

francesco, this is a great feature of GCM, but I don't see it in the
documentation/examples...

--
Luca Morettoni <luca(AT)morettoni.net> | http://www.morettoni.net
gtalk/msn: luca(AT)morettoni.net | http://twitter.com/morettoni
Google+ profile: http://bit.ly/morettoni_plus
Member of Python User Group Perugia: http://www.pypg.org/
Re: new GCM version Luca Morettoni 8/14/12 5:37 AM
On Tue, Aug 14, 2012 at 2:35 PM, Luca Morettoni <lu...@morettoni.net> wrote:
> francesco, this is a great feature of GCM, but I don't see it in the
> documentation/examples...

sorry, found here:
http://developer.android.com/guide/google/gcm/gcm.html

:)
Re: new GCM version flyingbag 9/8/12 11:57 AM
Hello Francesco,
I saw your entire presentation here. It was very helpful! 

In this group there are several discussions around delays in GCM deliver. I studied those and tried to device a solution where these can be minimized. The most reliable way seems to be set TTL to 0 so that GCM doesnt need to store or que these messages...

I have some questions around GCM message delivery behavious that i observed:
- If one sets the TTL as 0 and delay_while_idle=false, i believe that message is not stored on GCM and sent to device immediately. However - i have done extensive testing on my side and the observation is that GCM is unable to deliver ALL these messages to the target device. 
What i think happens (in theory)
- Throttling should not be happening in this case - since the TTL is 0 and delay_while_idle is false - which means - GCM receives msg from app server and immediately shoots it off to the device
What i observe real time:
- If the device is active (lets say i have a phone call on going, or browsing the internet) - the message is received immediately almost every time. However  - when the device is not active - the GCM delivery is inconsitent - sometime you get the message - sometimes you dont... I have made sure to keep Phone Wake Lock on receiving the intent - so that problem is ruled out. The device is connected to the WIFI all the time since i am testing with a ping to my app server every minute! 
- I even tested sending 50 msgs in rapid succession once the device is active - and all of them were received successfully

So - in this case - do you think there is some throttling that is done by GCM? Or something else going on here?
Appreciate your response and of course - a BIG THANK you to you guys for this fantastic service. Hope it keeps improving and many more features get added as it matures !

Cheers
flyingbag
This message has been hidden because it was flagged for abuse.
Re: new GCM version Martin Revert 9/18/12 9:19 PM
Hi Justin, "dry_run" is not working for me neither using JSON.
I've tried to bring this to Francesco's attention on G+, but with no success.

El lunes, 17 de septiembre de 2012 19:02:52 UTC-3, Justin W. Russell escribió:
Re: new GCM version Pablo 9/19/12 10:55 AM
Check that you're passing dry_run as an HTTP parameter, not as a field inside the JSON object.

The docs say: "If you want to test your request (either JSON or plain text) without delivering the message to the devices, you can set an optional HTTP parameter (emphasis mine) called dry_run with the value true."

--
You received this message because you are subscribed to the Google Groups "android-gcm" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-gcm...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/android-gcm/-/RNS10n8awm0J.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

This message has been hidden because it was flagged for abuse.
Re: new GCM version Pablo 9/19/12 12:16 PM
On Wed, Sep 19, 2012 at 11:43 AM, Justin W. Russell <jus...@rowshambow.com> wrote:
Can you explain what you mean by HTTP Parameter?  Do you mean as part of the url?  e.g.:

https://android.googleapis.com/gcm/send?dry_run=true

Yes. Because the content type for JSON requests is "application/json", additional HTTP parameters can't be in the request body and must be encoded in the URL.
 
Because that doesn't work.

It should work. Can you post a dump of the request you're sending and the response you get? How do you know it's not working? i.e. What would you expect to see and what do you see instead.

This message has been hidden because it was flagged for abuse.
Re: new GCM version Martin Revert 9/24/12 2:35 AM
Yes, that did the trick.
But documentation could be clearer, because by payload is not only intended as the query string.
It would be easy for developers and for easy test reasons if this could be sended as a name/value pair more inside the JSON object, like all the other parameters requested to GCM.

Just my two cents.
Martin

El jueves, 20 de septiembre de 2012 15:32:11 UTC-3, Justin W. Russell escribió:
Re: new GCM version amrutha shanbhag 12/3/12 1:54 AM
Hi,

I am using the Sender helper class from the GCM library to send GCM messages. And so not able to set the dry_run parameter for testing purpose. A setter in the Builder would be of help. As there is no other way out in this case.