I use this code and the $result value looks like an empty string.. Do you 
have any idea why?

I'm working with a local web page in php ( i use wamp). I already checked 
if curl is enable, and it should be working.

I also tried with a basic html form and i get a 401 Unavailable, even with 
the browser api key.

Jeremy
NB: sorry for my english, I'm french

Le samedi 30 juin 2012 17:43:23 UTC+2, Elad Nava a écrit :
>
> This code will send a GCM message to multiple registration IDs via CURL. 
>
> If you receive an "*Unavailable*" error code when you try to send a GCM:
>
> *Generate a Browser API Key from the Google APIs Console*, and use it 
> *instead 
> of the server key* in the "Authorization" header. Once you do that, this 
> error will go away.
>
> This is caused by a serious mistake in the GCM Documentation that states 
> you should use a Server Key in the Authorization header (as written 
> here<http://developer.android.com/guide/google/gcm/gs.html>
> )
>
> // Replace with real server API key from Google APIs
> $apiKey = "123456";
>
> // Replace with real client registration IDs 
> $registrationIDs = array( "123", "456" );
>
> // Message to be sent
> $message = "x";
>
> // Set POST variables
> $url = 'https://android.googleapis.com/gcm/send';
>
> $fields = array(
> 'registration_ids' => $registrationIDs,
> 'data' => array( "message" => $message ),
> );
>  $headers = array( 
> 'Authorization: key=' . $apiKey,
> 'Content-Type: application/json'
> );
>
> // Open connection
> $ch = curl_init();
>
> // Set the url, number of POST vars, POST data
> curl_setopt( $ch, CURLOPT_URL, $url );
>  curl_setopt( $ch, CURLOPT_POST, true );
> curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
> curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
>  curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );
>
> // Execute post
> $result = curl_exec($ch);
>
> // Close connection
> curl_close($ch);
>  echo $result;
>
> On Friday, June 29, 2012 5:22:02 AM UTC+3, RyanMC wrote:
>>
>> We are in the final stages of developing an app that had utilized C2DM 
>> for push notification, and decided to swap over to the new GCM since we 
>> hadn't released yet and it seemed like a good idea. 
>>
>> However, this is proving to be a giant headache. We have the JSON and 
>> headers formatting correctly and we get back a valid response, but the 
>> failed count is always 1 and the error message is UNAVAILABLE. The 
>> documentation says to just try again, but this has proved pointless as it 
>> always returns the same result. I have seen several posts on stackoverflow 
>> and other sites that list a similar problem. Has anyone been able to get 
>> the new GCM stuff working? We are using a php backend to handle the push 
>> notifications. We are using the standard CURL library, and as far as I can 
>> tell the JSON is valid, and works as we do get a result. Prior to swapping 
>> out the old message attribute with the new data attribute it would fail to 
>> return any result, so I am pretty confident we have it right. 
>>
>> Any thoughts would be appreciated. 
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to