收到相同的消息

时间:2012-08-02 15:01:20

标签: android google-cloud-messaging

我正在运行sdk中提供的示例gcm-demo-client(extras / google / gcm / samples /) 并继续接收key1 ="从GCM:你得到了消息!"从收到的意图, 即使我发布不同的价值观。

例如,当我发布以下正文

{
    "data":{"key1":"value1","message":"this text will be seen in the notification bar!!"},
    "registration_ids":["$GCM_REGISTRATION_ID"]
}

我收到的回复始终是相同的message_id

{
    "multicast_id":4767008207494821680,
    "success":1,"failure":0,
    "canonical_ids":1,
    "results":[{"registration_id":"APA91bH7p....f1tT65n3A","message_id":"0:1343892969659984%921c249af9fd7ecd"}]
}

我在API中错过了什么?如何让我的信息独一无二? 谢谢你的帮助 和Fabrice

1 个答案:

答案 0 :(得分:3)

这是因为在GCMIntentService中每次都会发送相同的消息。您应该在GCMIntentService中更改以下方法。

@Override
protected void onMessage(Context context, Intent intent) {
    Log.i(TAG, "Received message");
    String message = getString(R.string.gcm_message);
    displayMessage(context, message);
    // notifies user
    generateNotification(context, message);
}

而不是

String message = getString(R.string.gcm_message);

您应该从下面显示的意图中获取数据

String message = intent.getExtra("message");

有关更多信息,请参阅处理已接收数据部分here