我可以成功运行gcm的客户端和服务器。但是当我从服务器端发送消息时,我可以从gcm获取messageId,这是这样的:
0:1408673696996426%921c249a002efde3
但是,我无法从客户端(android端)获取此消息。通过监听onMessage事件,我可以从intent中检索消息数据,而我的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。我搜索了official tutorial和其他论坛,但我没有得到答案。因此,我无法验证客户端是否已收到此消息。谢谢你的帮助。
答案 0 :(得分:2)
此消息ID未传递给客户端。如果您希望能够确认消息传递,则可以将自己的ID分配给GCM消息,并在有效负载内传递它。然后,客户端可以将该ID发送回服务器以确认传送。