我正在运行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
答案 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。