未接收推送通知:com.google.android.gcm.server.InvalidRequestExceptio



在我的安卓应用程序中,我成功地使用 GCM 获取推送通知。 以下是发送推送通知的代码片段:

import com.google.android.gcm.server.Message;
import com.google.android.gcm.server.Result;
import com.google.android.gcm.server.Sender;
public class GcmWrapper {
private static AtomicReference<Sender> gcmSender;

private void toGCM(String receiver, String payload) {
String status;
Message message = new Message.Builder().addData("data", payload).build();
Result result;
try {
result = gcmSender.get().send(message, receiver, 5);
status = "Sent message to one device: " + result;
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
}

并且这段代码成功了很多年。好。

但是从 2019 年夏天开始,我在这一行中出现错误:

result = gcmSender.get().send(message, receiver, 5); // line number 41

错误信息:

[ERROR] 29.08.2019 15:09:27.835 [Thread-7271] [ticket = ] [request_id = ] com.myproject.service.notify.GcmWrapper.toGCM(GcmWrapper.java:52) 
HTTP Status Code: 400
com.google.android.gcm.server.InvalidRequestException: HTTP Status Code: 400
at com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:177)
at com.google.android.gcm.server.Sender.send(Sender.java:121)
at com.myproject.service.notify.GcmWrapper.toGCM(GcmWrapper.java:41)
at com.myproject.service.notify.GcmWrapper.access$000(GcmWrapper.java:14)
at com.myproject.service.notify.GcmWrapper$1.run(GcmWrapper.java:28)
at java.lang.Thread.run(Thread.java:722)

因此,安卓客户端不会收到推送通知。

GCM 已弃用,并已替换为 FCM。不应再使用 GCM。有很多关于此的邮件/通信。

例如,请参阅 https://developers.google.com/cloud-messaging/faq。

最新更新