1

В настоящее время я использую База данных реального времени Firebase для создания чат-приложения. Я взял this Raywenderlich tutorial в качестве отправной точки для изучения Firebase.Отправить push-уведомление для создания приложения чата с использованием базы данных реального времени Firebase

В моем случае мне нужно отправить уведомление о push-сообщении при появлении нового сообщения (также нажмите уведомление для других Изменения в базе данных Firebase). Я знаю, что FCM и Firebase Notification отправляют push-уведомление, но они могут быть вызваны только извне и HTTP-запроса.

Я не против иметь свой собственный сервер Node.js для достижения этого, но как это сделать? Как отслеживать, где появилось новое сообщение (изменение в БД).

А что такое Firebase Admin SDK? я должен использовать это? Im новый для Firebase и своего рода потерянный. Может кто-то меня подвезти?

+1

Рекомендуемые чтения: https://firebase.googleblog.com/2016/08/sending-notifications-between-android.html –

+0

@FrankvanPuffelen спасибо за блог. это было полезно – spaceMonkey

ответ

0

Когда я задал этот вопрос, у Google не было Firebase cloud functions. В случае, если кто-то наткнулся на этот вопрос, я, наконец, решил решить эту проблему, используя Cloud Functions (все еще в бета-версии).

Cloud Functions for Notifications use case

0

Вы можете использовать функции облаков для этого.

  1. Эта функция запускается при записи в базу данных реального времени "/ notification/{uid}/something".
  2. Функция создает сообщение для отправки через FCM.
  3. FCM отправляет уведомление на устройство пользователя.

Посмотрите на этот учебник here, чтобы узнать, как создать триггер функции.

Если вам нужно знать, как отправлять уведомления, ознакомьтесь с этим руководством here.

0

Вы правы, вы должны сделать это, используя сервер администратора.

@ AM_ ответ - хороший старт: вам понадобится фоновая задача, которая прослушивает изменения данных. Но теперь есть лучшие способы сделать это.

Firebase has a queue system, что позволяет создавать несколько рабочих для обработки фоновых заданий. Вот реализация Exemple: https://github.com/mcdonamp/sanichat

И вместо того, чтобы непосредственно строить запрос HTTP POST для использования ТСМ, то Firebase Admin Node.Js SDK действительно предоставляют API для ТСМ. Версия Java еще не создана.

Наконец, вот nice Firebase team blog post о Admin SDK.