サーバー側とクライアント側の両方に GCM サンプル アプリケーションを正常にデプロイしました。デバイスを正常に登録できました。しかし、デバイスにメッセージを送信しようとすると、次の例外がサーバー ログに表示されます。
Exception in thread "pool-1-thread-1" java.lang.IllegalArgumentException: argume
nt cannot be null
at com.google.android.gcm.server.Sender.nonNull(Sender.java:553)
at com.google.android.gcm.server.Sender.getString(Sender.java:534)
at com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:365)
at com.google.android.gcm.server.Sender.send(Sender.java:261)
at com.google.android.gcm.demo.server.SendAllMessagesServlet$1.run(SendA
llMessagesServlet.java:119)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:662)
Exception in thread "pool-1-thread-2" java.lang.IllegalArgumentException: argume
nt cannot be null
at com.google.android.gcm.server.Sender.nonNull(Sender.java:553)
at com.google.android.gcm.server.Sender.getString(Sender.java:534)
at com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:365)
at com.google.android.gcm.server.Sender.send(Sender.java:261)
at com.google.android.gcm.demo.server.SendAllMessagesServlet$1.run(SendA
llMessagesServlet.java:119)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:662)
ブラウザ上で、
次のメッセージが表示されますが、デバイスは例外のためにメッセージを受信しません。
1 つのマルチキャスト メッセージを 2 つのデバイスに非同期で送信する
ヒント/提案は役に立ちます。