我可以成功运行gcm的客户端和服务器。但是当我从服务器端发送消息时,我可以从gcm获得一个messageId,这是这样的:0:1408673696996426%921c249a002efde3
然而,我无法从客户端(android端)获得此messageId。通过监听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);
}
但是,我不能从intent中获取messageId。我搜索了官方教程和其他论坛,但我没有得到答案。所以我无法核实客户是否收到了这个消息。谢谢你的帮助。
此消息ID未传递给客户端。如果您希望能够确认消息传递,您可以为GCM消息分配您自己的ID,并在有效负载中传递它。然后客户端可以将该ID发送回服务器以确认交付。