Upstream-Nachricht an Server-App

Ich habe erfolgreich Daten von PHP-Server-Seite mit JAXL an Android-Client senden ..

Ich habe den Leitfaden zur Website von Google Cloud Message Offical sorgfältig gelesen. Für Upstream gibt es nur die folgenden Dokumente:

public void onClick(final View view) {
    if (view == findViewById(R.id.send)) {
        new AsyncTask() {
            @Override
            protected String doInBackground(Void... params) {
                String msg = "";
                try {
                    Bundle data = new Bundle();
                    data.putString("my_message", "Hello World");
                    data.putString("my_action","SAY_HELLO");
                    String id = Integer.toString(msgId.incrementAndGet());
                    gcm.send(SENDER_ID + "@gcm.googleapis.com", id, data);
                    msg = "Sent message";
                } catch (IOException ex) {
                    msg = "Error :" + ex.getMessage();
                }
                return msg;
            }

            @Override
            protected void onPostExecute(String msg) {
                mDisplay.append(msg + "\n");
            }
        }.execute(null, null, null);
    } else if (view == findViewById(R.id.clear)) {
        mDisplay.setText("");
    }
}

Sag das

XMPP-Nachrichten auf dem App-Server empfangen

When GCM receives an upstream messaging call from a client app, it generates the necessary XMPP stanza for sending the upstream message.

GCM fügt die Felder category und from hinzu und sendet dann eine Zeilengruppe wie die folgende an den App-Server:

<message id="">
  <gcm xmlns="google:mobile:data">
  {
      "category":"com.example.yourapp", // to know which app sent it
      "data":
      {
          "hello":"world",
      },
      "message_id":"m-123",
      "from":"REGID"
  }
  </gcm>
</message>

Aber jetzt habe ich einige Fragen, weil die Dokumente für den Upstream begrenzt sind.

1-) Android sendet JSON-Daten, mit Absender-ID für den Upstream ... Aber wenn ich mich bei api registriere, wurde noch nicht nach dem App-Server gefragt. Die Absender-ID identifiziert die Anwendung meines Google Mail-Kontos mit dem Paket. Kein App-Server. also wohin sendet gcm daten, die vom client kommen? Wie GCM meinen App-Server kennt ..

2-) Ich habe ein begrenztes Budget. Mein Server ist ein Web-Server mit gemeinsam genutztem Konto. Also muss ich PHP verwenden ... Aber ich habe im Dokument gelesen, "Ihr App-Server sollte eine dauerhafte Verbindung haben" und nicht regelmäßig verbinden und trennen ... Kann ich den App-Server als PHP verwenden? dass GCM PHP-Scrpit verbindet, das Daten auswertet und auf den Android-Client antwortet?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage