Firebase Cloud Messaging через облачные функции через запросы Http - PullRequest
0 голосов
/ 13 октября 2018

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

Что я собираюсь сделать: - создать все необходимые формы HTTP-запросов, используя okhttp.- отправлять желаемый http-запрос в мои облачные функции - эти функции будут получать необходимые данные из firestore и отвечать на запросы, фактически отправляя облачные сообщения темам.

Это единственный подход, который я нашел для реализации своего рода REST API, так как я не мог использовать Admin SDK в своих клиентских приложениях для Android и не имел никакого сервера обработки.

Есть ли примеры, учебники, делающие то же самое?Любые предложения приветствуются.

Ответы [ 2 ]

0 голосов
/ 14 октября 2018

После некоторого исследования я обнаружил, что firebase предоставляет именно то, что я искал, именуемые вызываемые функции

https://firebase.google.com/docs/functions/callable

Таким образом, можно обмениваться уведомлениями, фактически не проходя через какие-либо базы данных.,Надеюсь, это может кому-то помочь.

0 голосов
/ 13 октября 2018

Вам действительно не нужно иметь сервер для реализации ваших функциональных требований.Вы можете очень хорошо использовать Cloud Functions (решение без обслуживания), как вы упомянули в своем вопросе.

Когда вы хотите отправить уведомление Firebase Cloud Messaging, вы можете:

  1. Написатьсодержание уведомления в новом документе Firestore (в определенную коллекцию документов).Здесь преимущество над реализацией облачной функции HTTP для отправки данных заключается в том, что вы сохраняете историю запросов, и кодирование немного проще, так как вы используете Android SDK для Firestore.
  2. НастройкаОблачная функция, которая запускается при создании нового документа в этой коллекции и отправляет уведомления.

Существует официальный пример облачной функции, которая именно это и делает, см. https://github.com/firebase/functions-samples/tree/Node-8/fcm-notifications. Коддля функции на https://github.com/firebase/functions-samples/blob/Node-8/fcm-notifications/functions/index.js.

В вашем случае вы бы активировали облачную функцию следующим образом:

exports.sendNotification = functions.database.ref('/notificationsRequests/{requestUid}')
.onCreate(async (snap, context) => {})

см. https://firebase.google.com/docs/functions/firestore-events


Обратите внимание, чтовы найдете довольно много вопросов и ответов по SO, которые охватывают эту тему: https://stackoverflow.com/search?q=firestore+send+notifications

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...