Как получить messageId от gcm на стороне получателя
Я могу успешно запустить клиент и сервер gcm. Но когда я отправляю сообщение со стороны сервера, я могу получить messageId от gcm, что-то вроде этого: 0:1408673696996426%921c249a002efde3
Тем не менее, я не могу получить этот messageId со стороны клиента (сторона Android). Прослушивая событие onMessage, я могу извлечь данные сообщения из намерения, и мой код onMessage выглядит следующим образом:
protected void onMessage(Context context, Intent intent) {
Log.i(TAG, "Received message");
//JSONObject jsonObj = null;
String datastr = intent.getExtras().getString("message");
String message = "";
if(datastr!=null)
message = datastr;
else
message = getString(R.string.gcm_message);
displayMessage(context, message);
// notifies user
generateNotification(context, message);
}
Тем не менее, я не могу получить messageId из намерения. Я искал официальный учебник и другие форумы, но я не получил ответа. Таким образом я не могу проверить, получил ли клиент это сообщение или нет. Спасибо за помощь.
1 ответ
Этот идентификатор сообщения не передается клиенту. Если вы хотите иметь возможность подтвердить доставку сообщения, вы можете назначить свой собственный идентификатор для сообщения GCM и передать его в полезную нагрузку. Затем клиент может отправить этот идентификатор обратно на сервер для подтверждения доставки.