Как я могу подойти к обмену сообщениями всех пользователей приложения? В Интернете GUI можно отправлять уведомления всем пользователям приложения, поэтому я предполагаю, что делать то же самое с функцией и сообщением с данными (или, по крайней мере, с уведомлением) тоже можно с помощью функции - но я не смог найти способ сделать это.
Моя попытка
Я попытался подписать все устройства на topi c, позвонив по номеру:
FirebaseMessaging.getInstance().subscribeToTopic("all");
В случае onCreate
моего FirebaseMessagingService
, затем отправка сообщения с облачной функцией:
exports.sendMessage = functions.database.ref("/messages/{meta}")
.onCreate((snapshot, context) => {
const message = snapshot._data;
console.log("msg", message["title"]);
// logs the correct data, therefore the event triggers
const payload = {
data: {
title: message["title"]
/* blah blah */
},
topic: "all"
}
admin.database().ref("/messages/" + context.params.meta).remove()
return admin.messaging().send(payload)
})
Но onMessageReceived
не срабатывает (в отличие от того, когда я отправляю уведомление с использованием GUI). Является ли этот подход жизнеспособным в любом случае? Чего мне не хватает?