2016-08-02 2 views
0

У меня есть уведомления Firebase, настроенные в моем приложении прямо сейчас, и когда я отправляю сообщение, сообщение отправляется всем пользователям моего приложения. (В настоящее время я отправляю сообщения через консоль Firebase). Я хотел бы еще один способ отправки push-уведомлений, которые не связаны с консолью Firebase, и я считаю, что HTTP-сообщение - это простой способ сделать это. Как мне отправить удаленную отправку уведомлений с помощью HTTP Post?Firebase Уведомления: Отправить сообщение через HTTP сообщение

ответ

2

Отредактировано потому на комментарий: Пожалуйста, убедитесь, что сделать НЕ включать серверный ключ в вашем клиенте. Есть способы «для не очень хороших людей» найти его и сделать материал ... Правильный способ добиться этого - для клиента youre, чтобы проинструктировать вас-app-сервер отправить уведомление.

Вы должны отправить HTTP-сообщение в конечную точку Google-API.

Вам понадобятся следующие заголовки:

Content-Type: application/json 
Authorization: key={your_server_key} 

Вы можете получить Youre ключ сервера в пределах Firebase-проекта.

HTTP-Post-Содержание: Образец

{ 
    "notification": { 
     "title": "Notification Title", 
     "text": "The Text of the notification." 
    }, 
    "project_id": "<your firebase-project-id", 
    "to":"the specific client-device-id" 
} 

Пример Device ID:

cc6VGMjpIiA:APA91bGLpm5Z2p0NNh7nxttCTVd1tTsL2jObDaS9U8G1YjDjkpwkBlRLjU89ns4ujQ7rFU1Z2NshpUAX2RiQiIDKhHJdB0RtSS3H6nTT-lGEkIpzVtVzJpLIVqzSVbRjmyYlxD3BSLZl 

Вы должны отправить этот запрос на https://fcm.googleapis.com/fcm/send. На данный момент невозможно отправить уведомление всем устройствам с использованием API. У вас есть, чтобы использовать Firebase-Console для этого.


Мне нравится использовать Chrome-плагин «Почтальон» для отправки запросов API, как вы можете сохранить ваши HTTP-запросы. Это очень удобно.

Вы также можете использовать завиток.

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 
+0

Это действительно отличный пример использования сообщений POST с использованием FCM. Обратите внимание: поскольку для этого подхода требуется использование вашего ключа сервера FCM, вы не должны запускать этот код на клиентском устройстве. Предоставление вашего ключа сервера внутри клиента позволяет злоумышленнику найти ваш ключ и отправить сообщение от вашего имени. См. Http://stackoverflow.com/questions/37435750/how-to-send-device-to-device-messages-using-firebase-cloud-messaging –

+0

Да - это было чем-то обманчивым. Я отредактировал мое сообщение соответственно :) – Hannes

+0

Спасибо за ответ! Если бы я хотел отправить этот запрос через код Swift, как бы я это сделал? – Bawpotter

Смежные вопросы