我正在尝试从 android 客户端发送下游推送通知,仅用于练习。
但是,使用此代码:
private void send() {
String urlString = "https://fcm.googleapis.com/fcm/send";
JSONObject jsonObjects = new JSONObject();
try {
jsonObjects.put("title", titleET.getText().toString());
jsonObjects.put("body", textET.getText().toString());
} catch (JSONException e) {
e.printStackTrace();
}
RequestBody body = RequestBody.create(JSON, jsonObjects.toString());
Request req = new Request.Builder()
.url(urlString)
.post(body)
.addHeader("Authorization","key=censored")
.build();
try {
Response res = client.newCall(req).execute();
if (!res.isSuccessful()) {
throw new UnknownError("Error: " + res.code() + " " + res.body().string());
}
Log.d("MainActivity", res.body().toString());
} catch (IOException e) {
send();
}
}
如您所见,我没有做
jsonObjects.put("to","something");
那是因为我不想专门发送给某人,而是发送给整个应用程序。如果我没有在 json 中输入"to",我会得到一个错误。
那么,如何将其发送到我的整个应用程序?
必须始终指定设备令牌、设备组 ID 或主题。没有使用 Firebase 云消息传递发送非定向消息的选项。
您可以通过 Firebase 通知控制台向项目中某个应用的所有用户发送通知。但是,没有公共 API 可以从您自己的代码调用此功能。