Как получить 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 и передать его в полезную нагрузку. Затем клиент может отправить этот идентификатор обратно на сервер для подтверждения доставки.

Другие вопросы по тегам