android - 如何从接收方的 gcm 获取 messageId

标签 android google-cloud-messaging messageid

我可以成功运行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。我搜索了official tutorial和其他论坛,但我没有得到答案。因此我无法验证客户端是否收到此消息。感谢您的帮助。

最佳答案

此消息 ID 不会传递给客户端。如果您希望能够确认消息传递,您可以将自己的 ID 分配给 GCM 消息,并在有效负载中传递它。然后客户端可以将该 ID 发送回服务器以确认交付。

关于android - 如何从接收方的 gcm 获取 messageId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25438816/

相关文章:

安卓工作室 : 'title' in FrameLayout

javascript - Cordova Ajax 请求永远挂起

java - Firebase Cloud Messaging 多次发送上游消息,尽管我发送了确认

android - 我需要有关发送推送通知的建议

ios - 是否可以使用 Firebase Cloud Messaging (FCM) 直接从设备向特殊 UDID 发送 PushNotifications?

java - IMAP,使用消息 ID 跟踪 move 的消息

android - 从 Assets 中读取文件

android youtube api 没有按预期播放视频

bots - 通过 ID : Discord. js 获取消息