http://developer.android.com/guide/google/gcm/gs.htmlから Google Cloud Messaging を使用してアプリケーションを実装しようとしています
Sender sender = new Sender(myApiKey);
Message message = new Message.Builder()
.collapseKey("1")
.timeToLive(3)
.delayWhileIdle(true)
.addData("message", "message is created at builder")
.build();
Result result = sender.send(message, reGid, 5);
System.out.println("result of message is "+result);
その結果、メッセージIDを取得し、コンソールから見ることができます; しかし、トーストでデバイスにメッセージを表示したいです。
GCMintentService.java:
@Override
protected void onMessage(Context arg0, Intent arg1) {
Log.i(TAG, "new message= ");
Toast.makeText(this, arg1.getStringExtra("message"), Toast.LENGTH_SHORT)
.show();
}
GCM の高度なトピックから:
サードパーティのサーバーがメッセージを GCM に投稿し、メッセージ ID を受信した場合、そのメッセージがデバイスに既に配信されたことを意味するわけではありません。むしろ、それは配達が受け入れられたことを意味します。受け入れられた後にメッセージがどうなるかは、多くの要因によって異なります。最良のシナリオでは、デバイスが GCM に接続されていて、画面がオンで、スロットリングの制限 (スロットリングを参照) がない場合、メッセージはすぐに配信されます。
「デバイスはGCMに接続されています」という意味がわかりません。デバイスを GCM に接続し、インターネットに接続し、デバイスからアプリケーションを実行するにはどうすればよいですか?