2

SDK (extras/google/gcm/samples/) で提供されているサンプル gcm-demo-client を実行していますが、key1="From GCM: you got message!" を受け取り続けています。異なる値を投稿した場合でも、受信したインテントから。

たとえば、次の本文を投稿すると

{
    "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 で見逃したものは何ですか? メッセージをユニークにするにはどうすればよいですか? 助けてくれてありがとう

4

1 に答える 1

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");

詳細については、こちらの受信データの処理の部分を参照してください

于 2012-08-02T15:11:21.793 に答える