J'ai trouvé un moyen très simple de le faire.
Ouvrez http://phpfiddle.org/
Collez le script php suivant dans la boîte. Dans l'ensemble de scripts php API_ACCESS_KEY, définissez les identifiants d'appareils séparés par une virgule.
Appuyez sur F9 ou cliquez sur Exécuter.
S'amuser ;)
<?php
// API access key from Google API's Console
define( 'API_ACCESS_KEY', 'YOUR-API-ACCESS-KEY-GOES-HERE' );
$registrationIds = array("YOUR DEVICE IDS WILL GO HERE" );
// prep the bundle
$msg = array
(
'message' => 'here is a message. message',
'title' => 'This is a title. title',
'subtitle' => 'This is a subtitle. subtitle',
'tickerText' => 'Ticker text here...Ticker text here...Ticker text here',
'vibrate' => 1,
'sound' => 1
);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg
);
$headers = array
(
'Authorization: key=' . API_ACCESS_KEY,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://android.googleapis.com/gcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch );
curl_close( $ch );
echo $result;
?>
Pour FCM, l'URL google serait: https://fcm.googleapis.com/fcm/send
Pour FCM v1, l'URL google serait: https://fcm.googleapis.com/v1/projects/YOUR_GOOGLE_CONSOLE_PROJECT_ID/messages:send
Remarque: lors de la création de la clé d'accès API sur la console des développeurs Google, vous devez utiliser 0.0.0.0/0 comme adresse IP. (À des fins de test).
En cas de réception d'une réponse d'enregistrement invalide du serveur GCM, veuillez vérifier la validité de votre jeton d'appareil. Vous pouvez vérifier la validité de votre jeton d'appareil à l'aide de l'URL suivante:
https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=YOUR_DEVICE_TOKEN
Quelques codes de réponse:
Voici la description de certains codes de réponse que vous pouvez recevoir du serveur.
{ "message_id": "XXXX" } - success
{ "message_id": "XXXX", "registration_id": "XXXX" } - success, device registration id has been changed mainly due to app re-install
{ "error": "Unavailable" } - Server not available, resend the message
{ "error": "InvalidRegistration" } - Invalid device registration Id
{ "error": "NotRegistered"} - Application was uninstalled from the device