Firebase чат Push-уведомления

Я разрабатываю приложение чата, используя Firebase в качестве бэкэнда. Требуется, чтобы на каждое новое сообщение получатель получал push-уведомление о том, что он получил новое сообщение. Это первый раз, когда я делаю что-то подобное у меня есть вопрос:

поскольку мы не используем собственный сервер для этого, нужен ли нам сторонний поставщик (например, пакет) для обработки push-уведомлений? Если я не ошибаюсь, Я думаю, что Firebase не поддерживает отправку push-уведомлений, как это, но только те, которые вы отправляете с консоли.

любая помощь будет большое.

4 ответов


надеюсь, кто-то найдет это полезным, это помогло в моем случае.

В настоящее время отправка push-уведомлений с устройства на устройство невозможна с предложениями решения Firebase. Если вы хотите такого рода вещи, вы должны попробовать OneSignal что бесплатно и очень легко реализовать.


в новой Firebase есть две функции для отправки уведомлений пользователям:

  • Firebase Cloud Messaging-следующее поколение Google Cloud Messaging
  • Firebase Notifications-встроенный поверх облачных сообщений, которые позволяют легко отправлять уведомления пользователям через консоль Firebase

для отправки сообщений с облачными сообщениями необходимо указать в запросе ключ авторизации. Поскольку знание этого ключа позволяет отправлять сообщений от вашего имени, вы хотите ограничить доступ к нему в доверенные процессы. Это действительно может быть сервер, но любой доверенный процесс в порядке.


(iOS) немного поздно; но, возможно, может помочь кому-нибудь в будущем с этим.

недавно у меня была эта проблема, и моим решением было использовать метод группы устройств.

Ergo:

  1. создаст группу устройств с registration_ids (или массив идентификаторов устройств для push)

  2. затем отправит толчок в указанную группу устройств

  3. Удалить устройство группа

см.:https://firebase.google.com/docs/cloud-messaging/ios/device-group


вы можете отправить push-уведомление с Android с помощью запроса Http POST, я использую retrofit, чтобы сделать это, например:

Url:https://fcm.googleapis.com/fcm/send

Заголовки Http:

Content-Type: application/json
Authorization: key=Your_FCM_Key

Тело (Json):

{
 "to" : "user_device_id"
  "data" : {
    "message": "test message",
    "color": "black"
  },
  "notification" : {
     "title": "Testing FCM",
     "body":"My first notification",
     "tag":"chat_msg",
     "color" : "#FF4081",
     "icon" : "ic_stat_onesignal_default", 
   }
}

вы можете сделать тест с помощью расширенного клиента Rest "расширение Google Chrome"