Исходящее сообщение на серверное приложение
Я успешно отправляю данные со страницы php-сервера на Android-клиент с JAXL.
Я внимательно прочитал руководство сайта Google Cloud Message Offical. Для Upstream есть только следующие документы:
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("");
}
}
Скажи это:
Получать XMPP-сообщения на сервере приложений
When GCM receives an upstream messaging call from a client app, it generates the necessary XMPP stanza for sending the upstream message.
GCM добавляет категорию и поля, а затем отправляет на сервер приложений раздел, подобный следующему:
<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>
Но теперь у меня есть несколько вопросов из-за ограниченности документов для апстрима.
1-) Android отправляет данные JSON с идентификатором отправителя для апстрима ... Но когда я регистрируюсь в api, меня не спрашивали о сервере приложений. Идентификатор отправителя идентифицирует приложение моей учетной записи gmail с пакетом. Не сервер приложений. так куда гсм отправлять данные которые приходят клиентом? Как GCM знает мой сервер приложений ..
2-) У меня ограниченный бюджет, мой сервер - веб-сервер с общей учетной записью. Поэтому я должен использовать php ... Но я прочитал в документе "Ваш сервер приложений должен быть постоянным соединением", а не подключаться и отключаться регулярно ... Могу ли я использовать сервер приложений в качестве php? что GCM соединяет Php scrpit, который генерирует данные и отвечает клиенту Android?