web-dev-qa-db-ger.com

Android: Push-Benachrichtigung online testen (Google Cloud Messaging)

Update: GCM ist veraltet, verwenden Sie FCM

Ich implementiere Google Cloud Messaging in meiner Anwendung. Der Servercode ist noch nicht bereit und in meiner Umgebung kann ich aufgrund einiger Firewall-Einschränkungen keinen Testserver für die Push-Benachrichtigung bereitstellen. Was ich suche, ist ein Online-Server, der einige Testbenachrichtigungen an mein Gerät sendet, um meine Client-Implementierung zu testen.

98
Adnan

Fand einen sehr einfachen Weg, dies zu tun.

Öffnen Sie http://phpfiddle.org/

Fügen Sie das folgende PHP-Skript in das Feld ein. Legen Sie im PHP-Skript API_ACCESS_KEY die durch Komma getrennten Geräte-IDs fest.

Drücken Sie F9 oder klicken Sie auf Ausführen.

Habe Spaß ;)

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

Hinweis: Beim Erstellen des API-Zugriffsschlüssels auf der Google-Entwicklerkonsole müssen Sie 0.0.0.0/0 als IP-Adresse verwenden. (Zu Testzwecken).

Bearbeiten:

Wenn Sie eine ungültige Registrierungsantwort vom GCM-Server erhalten, überprüfen Sie die Gültigkeit Ihres Geräte-Tokens. Sie können die Gültigkeit Ihres Geräte-Tokens mithilfe der folgenden URL überprüfen:

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

Einige Antwortcodes:

Im Folgenden werden einige Antwortcodes beschrieben, die Sie möglicherweise vom Server erhalten.

{ "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
166
Adnan

POSTMAN: Eine google chrome extension

Verwenden Sie den Postboten, um eine Nachricht anstelle des Servers zu senden. Die Einstellungen für den Postboten lauten wie folgt:

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

auf erfolg wirst du bekommen

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

Pushwatch ist ein kostenloser Online-GCM- und APNS-Push-Benachrichtigungstester, der von mir in Django/Python entwickelt wurde, da ich bei der Arbeit an mehreren Projekten in einer ähnlichen Situation war. Es kann sowohl GCM als auch APNS Benachrichtigungen senden und JSON-Nachrichten für zusätzliche Argumente unterstützen. Nachfolgend finden Sie die Links zu den Testern.

Bitte lassen Sie mich wissen, wenn Sie Fragen haben oder Probleme damit haben.

18
Amyth

Briefträger ist eine gute Lösung und so ist PHP Geige. Um jedoch zu vermeiden, dass die GCM-URL und die Header-Informationen jedes Mal eingegeben werden, können Sie auch dieses raffinierte GCM Notification Test Tool verwenden

6
Varun