Ich möchte versuchen, eine Nachricht mit dem FCM
-Nachrichtendienst von Google zu senden. Wie das Dokument sagt, sollte die http-Anfrage etwa so aussehen:
https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
{ "data": {
"score": "5x1",
"time": "15:10"
},
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}
Mein Problem ist, dass ich keine Ahnung habe, wie der Wert von Authorization
aussehen sollte, und wenn ich diesen Header lösche und die Anforderung stelle, erhalte ich die Fehlermeldung 401:Unauthorized
Ich denke, dass dies eine Art API-Schlüssel oder etwas sein muss, aber ich kann ihn nicht in meinem Projekt finden. Kann mir jemand helfen?
PS: Zu Testzwecken benutze ich derzeit diese Site , um eine Nachricht an mein Gerät zu senden
Gemäß Über Firebase Cloud Messaging Server Dokumentation:
Authentifizierung
Um eine Nachricht zu senden, sendet der App-Server eine Anforderung POST. Zum Beispiel:
https://fcm.googleapis.com/fcm/send
Eine Nachrichtenanforderung besteht aus zwei Teilen: dem HTTP-Header und dem HTTP Karosserie.
Der HTTP-Header muss die folgenden Header enthalten:
Berechtigung: Schlüssel = YOUR_SERVER_KEY
Stellen Sie sicher, dass dies die Taste server ist, deren Wert in Ihrer Firebase-Projektkonsole unter Project Settings> Cloud Messaging verfügbar ist. Client-Schlüssel oder andere Schlüssel werden von FCM abgelehnt.
Inhaltstyp:
application/json
für JSON;application/x-www-form-urlencoded;charset=UTF-8
für Klartext.Wenn Content-Type weggelassen wird, wird angenommen, dass das Format Text ist.
Ich hoffe es hilft!
UPDATE (2016/11/16)
Vielleicht sollten Sie das FCM-Token anstelle der Serverschlüssel als Hinweis in der folgenden Abbildung in Betracht ziehen
UPDATE (2016/12/08)
Firebase hat die Serverschlüssel auf eine neue Version aktualisiert. Es wird empfohlen, auf die neueste Version zu aktualisieren. Bitte sehen Sie den Screenshot unten:
ich habe auch diesen Fehler erlebt. Das Problem betrifft den Serverschlüssel. Verwenden Sie nicht den API-Schlüssel aus der Datei google-services.json.
Sie sollten den Server-API-Schlüssel aus Ihrem Firebase-Konsolenprojekt unter den Projektschlüssel der Registerkarte "Cloud-Messaging" verwenden: https://console.firebase.google.com/project/firebase-probiz/settings/cloudmessaging
Dies ist Ihr Serverschlüssel, den Sie in der Projektkonsole.developers.google.com oder der Firebase-Projektkonsole unter Projekteinstellungen> Cloud-Messaging beobachten können. Beachten Sie den von Google Services automatisch erstellten Schlüssel. Sie sollten die IP-Adresse inco G.Console hinzufügen, um die Verwendung einzuschränken.
Denken Sie außerdem an Content-Type: application/json, andernfalls erhalten Sie Error = MissingRegistration.