I have seen this topic discussed before, but I think it's not the same scenario. I'm trying to send push notification from one device (going to be an admin device) through FCM (Firebase Cloud Messaging) to all other devices, and i'm going exactly by their docs. I have tried to subscribe to topics or keep it simple still getting the same error, "MissingRegistration".
String jsonData = "{\"to\":\"/topics/news\",\"notification\":{\"title\":\"title\",\"body\":\"text\" }}";
byte[] postData = jsonData.getBytes(Charset.forName("UTF-8"));
int postDataLength = postData.length;
URL url = new URL("https://fcm.googleapis.com/fcm/send");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setDoInput(true);
con.setDoOutput(true);
con.setInstanceFollowRedirects(true);
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type","application/json");
con.setRequestProperty("Authorization","key=AIzaSyB70J***-z34q2_h*******qjZsM5zBIf8Y"); //I've added stars :-)
con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
con.setRequestProperty("Content-Type","charset=UTF-8");
con.setRequestProperty("Content-Length",Integer.toString(postDataLength));
con.setUseCaches(false);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.write(postData);
InputStream inputStream= con.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = null;
String outPut = "";
while (((line = reader.readLine()) != null)){
outPut += line;
}