Mensagem upstream para o aplicativo do servidor
Tenho sucesso enviar dados da página do servidor php para o cliente android com JAXL ..
Li atentamente o guia do site oficial do Google Cloud Message Offical. Para o Upstream, existem apenas estes documentos:
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("");
}
}
Diga isso:
Receba mensagens XMPP no servidor de aplicativos
When GCM receives an upstream messaging call from a client app, it generates the necessary XMPP stanza for sending the upstream message.
O GCM adiciona a categoria e os campos e envia uma estrofe como a seguinte ao servidor de aplicativos:
<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>
Mas agora eu tenho algumas perguntas, por causa de documentos limitados para upstream.
1-) O Android envia dados JSON, com o ID do remetente para o upstream ... Mas, quando me registro na API, não foi perguntado sobre o servidor de aplicativos. O ID do remetente identifica o aplicativo da minha conta do gmail com o pacote. Não é servidor de aplicativos. Então, para onde o gcm envia dados que chegam pelo cliente? Como o GCM conhece meu servidor de aplicativos ..
2-) Eu tenho orçamento limitado, meu servidor é um servidor web de conta compartilhada. Então, eu tenho que usar o php ... Mas li no documento: "O servidor de aplicativos deve ser uma conexão persistente" para não conectar e desconectar regularmente ... Posso usar o servidor de aplicativos como php? que o GCM conecta o scrpit Php, que simula dados e responde ao cliente Android?