test notification fcm android push-notification google-cloud-messaging android-notifications server-push

fcm - Android: Test Push Notification en línea(Google Cloud Messaging)



test push notifications android (4)

Estoy implementando Google Cloud Messaging en mi aplicación. El código del servidor aún no está listo y en mi entorno debido a algunas restricciones de firewall, no puedo implementar un servidor de prueba para notificaciones automáticas. Lo que estoy buscando es un servidor en línea que envíe algunas notificaciones de prueba a mi dispositivo para probar la implementación de mi cliente.


Encontré una manera muy fácil de hacer esto.

Abrir http://phpfiddle.org/

Pegue siguiendo el script php en el cuadro. En el conjunto de scripts php API_ACCESS_KEY, establezca los ID de los dispositivos separados por coma.

Presione F9 o haga clic en Ejecutar.

Que te diviertas ;)

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

Nota: Al crear la clave de acceso API en la consola de Google developer, debe usar 0.0.0.0/0 como dirección IP. (Para fines de prueba).

Editar:

En caso de recibir una respuesta de Registro inválida desde el servidor GCM, por favor verifique la validez del token de su dispositivo. Puede verificar la validez de su token de dispositivo usando la siguiente url:

https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=YOUR_DEVICE_TOKEN

Algunos códigos de respuesta:

A continuación se encuentra la descripción de algunos códigos de respuesta que puede recibir del servidor.

{ "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: una extensión google chrome

Use cartero para enviar mensajes en lugar de servidor. La configuración del cartero es la siguiente:

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" } }

en el éxito obtendrás

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


Postman es una buena solución y también lo es php fiddle. Sin embargo, para evitar poner en la URL de GCM y la información del encabezado cada vez, también puede utilizar esta ingeniosa herramienta de prueba de notificaciones de GCM


Pushwatch es un probador de notificaciones automáticas en línea gratuito de GCM y APNS desarrollado en Django / Python, ya que me he encontrado en una situación similar mientras trabajaba en múltiples proyectos. Puede enviar notificaciones GCM y APNS y también admite mensajes JSON para argumentos adicionales. Los siguientes son los enlaces a los probadores.

Avíseme si tiene alguna pregunta o si tiene problemas para usarla.