Android: Test Push Notification en ligne (Google Cloud Messaging)

Mise à jour: GCM est obsolète, utilisez FCM

J’implémente Google Cloud Messaging dans mon application. Le code serveur n’est pas encore prêt et dans mon environnement en raison de certaines ressortingctions de pare-feu Je ne peux pas déployer un serveur de test pour la notification push. Ce que je recherche, c’est un serveur en ligne qui enverrait des notifications de test à mon appareil pour tester l’implémentation de mon client.

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 le script php, définissez API_ACCESS_KEY, définissez les identifiants de périphériques séparés par un coma.

Appuyez sur F9 ou cliquez sur Exécuter.

S’amuser 😉

 '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; ?> 

Remarque: lors de la création de la clé d’access API sur la console développeur Google, vous devez utiliser l’adresse IP 0.0.0.0/0. (À des fins de test)

Modifier:

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 de périphérique en utilisant 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 

POSTMAN: une extension Google Chrome

Utilisez postman pour envoyer un message au lieu du serveur. Les parameters du postier sont les suivants:

 Request Type: POST URL: https://android.googleapis.com/gcm/send Header Authorization : key=your key //Google API KEY Content-Type : application/json JSON (raw) : { "registration_ids":["yours"], "data": { "Hello" : "World" } } 

sur le succès, vous obtiendrez

 Response : { "multicast_id": 6506103988515583000, "success": 1, "failure": 0, "canonical_ids": 0, "results": [ { "message_id": "0:1432811719975865%54f79db3f9fd7ecd" } ] } 

Pushwatch est un testeur de notification push en ligne GCM et APNS développé par moi-même dans Django / Python, car je me suis retrouvé dans une situation similaire en travaillant sur plusieurs projets. Il peut envoyer des notifications GCM et APNS et prendre également en charge les messages JSON pour des arguments supplémentaires. Voici les liens vers les testeurs.

  • Testeur GCM
  • Testeur APNS

S’il vous plaît laissez-moi savoir si vous avez des questions ou rencontrez des problèmes en utilisant.

Postman est une bonne solution, tout comme le php fiddle. Toutefois, pour éviter de mettre à chaque fois l’URL du GCM et les informations d’en-tête, vous pouvez également utiliser cet outil de test de notification GCM astucieux.