将帖子请求发送到Firebase但收到“Error = MissingRegistration”

时间:2017-02-28 02:39:47

标签: java firebase push-notification firebase-cloud-messaging

这是我的代码。我正在尝试执行firebase post请求以向某些设备发送推送。但是回复是这样的:Error=MissingRegistration

private final String URL = "https://fcm.googleapis.com/fcm/send";
private final String CONTENT_TYPE = "Content-Type:application/json";
private final String AUTHORIZATION_KEY = "key=myKey";


JSONObject message = new JSONObject();
message.put("to", "/topics/uff");
JSONObject data = new JSONObject();
data.put("mensagem", "teste");

message.put("data", data);

HttpClient httpClient = HttpClientBuilder.create().build();

HttpPost request = new HttpPost(URL);
request.setHeader("Content-type", CONTENT_TYPE);
request.setHeader("Authorization", AUTHORIZATION_KEY);
request.setEntity(new StringEntity(message.toString(), "UTF-8"));
System.out.println(message.toJSONString());
HttpResponse response = httpClient.execute(request);
String responseString = new BasicResponseHandler().handleResponse(response);
System.out.println(responseString);

当我为Chrome使用ARC(高级休息客户端)时,该请求有效,我的所有设备都会收到通知。

修改

消息结构:

{"data":{"mensagem":"teste"},"to":"\/topics\/uff"}

1 个答案:

答案 0 :(得分:0)

从Firebase控制台下载google-services.json。

为您的Android应用获取配置文件 要下载Android应用程序的配置文件,请执行以下操作:

登录Firebase并打开您的项目。 单击设置图标,然后选择项目设置。 在“您的应用”卡中,从列表中选择您需要配置文件的应用的程序包名称。 点击google-services.json。

将此文件保存在项目的app文件夹中。