Firebase FCM 推送,出现错误缺少注册 |安卓 [英] Firebase FCM push, getting Error Missing Registration | Android

查看:26
本文介绍了Firebase FCM 推送,出现错误缺少注册 |安卓的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我之前看到过这个话题,但我认为这不是同一个场景.

I have seen this topic discussed before, but I think it's not the same scenario.

我正在尝试通过 FCM(Firebase 云消息传递)从一台设备(将成为管理设备)向所有其他设备发送推送通知,我完全按照他们的文档进行操作.

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:

缺少注册

 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;
                }

推荐答案

我正在使用/尝试使用 Postman Web API 客户端应用程序将 FCM 推送通知发送到 FCM URL:https://fcm.googleapis.com/fcm/send

I was using/trying to send FCM Push notification using Postman web API Client app, to FCM URL: https://fcm.googleapis.com/fcm/send

而且我使用了错误的Content-Type: application/x-www-form-urlencoded,所以我把它改成了

And I had used a wrong Content-Type: application/x-www-form-urlencoded, So I changed it to

Content-Type:  application/json

这基本上是必需的,因为我们将推送通知作为 JSON 有效负载发送.

This is basically required, as we are sending the Push Notification as a JSON Payload.

干杯!

这篇关于Firebase FCM 推送,出现错误缺少注册 |安卓的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆