Ich habe Firebase Benachrichtigungen in meiner App eingerichtet, und wenn ich eine Nachricht sende, wird die Nachricht an alle Benutzer meiner App gesendet. (Ich sende derzeit Nachrichten über die Firebase-Konsole). Ich möchte eine andere Möglichkeit zum Senden von Push-Benachrichtigungen, die die Firebase-Konsole nicht umfasst, und ich glaube, dass HTTP-Post eine einfache Möglichkeit ist, dies zu tun. Wie kann ich eine Push-Benachrichtigung per Fernzugriff mit HTTP Post senden?Firebase Benachrichtigungen: Nachricht über HTTP senden
Antwort
weil auf Kommentar Editiert: Bitte stellen Sie sicher, tun NICHT den Server-Schlüssel in Ihrem Client enthalten. Es gibt Möglichkeiten "für nicht so tolle Leute", es zu finden und zu tun ... Die richtige Weise zu erreichen ist, dass Ihr Client Ihren your-app-Server anweist, die Benachrichtigung zu senden.
Sie müssen eine HTTP-Post an den Google-API-Endpunkt senden.
Sie müssen die folgenden Header:
Content-Type: application/json
Authorization: key={your_server_key}
Sie können innerhalb des Firebase-Projekt youre Server-Schlüssel erhalten.
HTTP-Post-Inhalt: Beispiel
{
"notification": {
"title": "Notification Title",
"text": "The Text of the notification."
},
"project_id": "<your firebase-project-id",
"to":"the specific client-device-id"
}
Beispiel Device ID:
cc6VGMjpIiA:APA91bGLpm5Z2p0NNh7nxttCTVd1tTsL2jObDaS9U8G1YjDjkpwkBlRLjU89ns4ujQ7rFU1Z2NshpUAX2RiQiIDKhHJdB0RtSS3H6nTT-lGEkIpzVtVzJpLIVqzSVbRjmyYlxD3BSLZl
Sie haben diese Anfrage an https://fcm.googleapis.com/fcm/send
zu senden. Ab sofort ist es nicht möglich, eine Benachrichtigung an alle Geräte zu senden, die die API verwenden. Sie haben, um die Firebase-Konsole dafür zu verwenden.
Ich mag die Chrome-Plugin "Postman" verwenden, für die API-Anforderungen zu senden, wie Sie Ihre HTTP-Requests speichern. Es ist sehr komfortabel.
Sie können auch Curl verwenden.
curl
-X POST
-d "{ "notification": {
"title": "Notification Title",
"text": "The Text of the notification."
},
"project_id": "<your firebase-project-id",
"to":"the specific client-device-id"
}"
-H "Content-Type: application/json"
-H "Authorization: key={your_server_key}"
https://fcm.googleapis.com/fcm/send
Dies ist in der Tat ein großartiges Beispiel für POST-Nachrichten mit FCM. Beachten Sie, dass Sie diesen Code nicht auf einem Clientgerät ausführen müssen, da dieser Ansatz die Verwendung Ihres FCM-Serverschlüssels erfordert. Durch das Freigeben des Serverschlüssels im Client wird dem böswilligen Benutzer ermöglicht, Ihren Schlüssel zu finden und eine Nachricht in Ihrem Namen zu senden. Siehe http://stackoverflow.com/questions/37435750/how-to-send-device-to-device-messages-using-firebase-cloud-messaging –
Ja - das war irgendwie irreführend. Ich habe meinen Beitrag entsprechend bearbeitet :) – Hannes
Danke für die Antwort! Wenn ich diese Anfrage über Swift-Code senden möchte, wie würde ich das tun? – Bawpotter