2016-08-07 4 views
2

Ich habe dieses Thema schon einmal diskutiert, , aber ich denke, es ist nicht das gleiche Szenario. Ich versuche Push-Benachrichtigungen von einem Gerät (wird ein Admin-Gerät sein) über FCM (Firebase Cloud Messaging) an alle anderen Geräte zu senden, und ich gehe genau nach ihren Dokumenten. Ich habe versucht, Themen zu abonnieren oder es einfach zu halten immer noch den gleichen Fehler, "MissingRegistration".Firebase FCM Push, Fehlermeldung Fehler Registrierung | Android

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

Antwort

7

Ich habe auch den gleichen Fehler, aber ich war auf der Serverseite (Push von Schienen auf Android), aber mein Problem war, dass ich den Inhaltstyp im Header angeben vergessen hatte (i RestClient bin mit auf firebase posten). nur kopiert von Feuerbasis docs die Content-Typen hoffen, dass es helfen könnte jemand

RestClient.post("https://fcm.googleapis.com/fcm/send", 
      {:to => reg_id,:notification => options }.to_json,{:content_type => :json, :accept => :json,:Authorization => "key=*****"} 
1

Danke Ihre Antwort für die Buchung, sowieso funktioniert meine Codes jetzt, alles, was ich tun musste, ist der Inhaltstyp ändern (Ich habe) und sende es an ein Subskriptionsthema .... jetzt können alle meine Benutzer die Benachrichtigung von meinem Gerät bekommen :-).

Verwandte Themen