ПРИМЕЧАНИЕ. Не говорите, что это возможная копия этого, Прочитайте.
Подумайте о простом приложении управления задачами, которое может иметь n
количество пользователей. Допустим, User A
может создать задачу и назначить ее User B
. Я хочу показать уведомление User B
.
Я использую Firebase в качестве BAAS и следую фрагменту кода, который выводится на консоль только тогда, когда есть задача, назначенная User B
. Чтобы упростить, коллекция Users
в Firebase имеет узел с именем tasksAssignedToThisUser
array, а функция обратного вызова будет отслеживать tasksAssignedToThisUser
местоположение. Всякий раз, когда в этот массив добавляется новая задача, выполняется функция обратного вызова. Вот фрагмент кода:
var rootRef = firebase.database().ref();
rootRef.child('users').child(loggedInUserID).child('tasksAssignedToThisUser')
.on('child_added', function (newMessageSnapshot) {
console.log('Someone assigned a task to this user.');
console.log(newMessageSnapshot.val);
});
Все работает нормально, пока здесь.
То, что я понял, прочитав документы Firebase и другие сообщения на SO о push-уведомлениях или Firebase Cloud Messaging, это:
Уведомления Firebase позволяют пользователям легко отправлять сообщения для повторного привлечения и удержания пользователей, стимулирования роста приложений и поддержки маркетинговых кампаний.
Прежде чем вы сможете писать клиентские приложения, использующие Firebase Cloud Messaging, у вас должен быть сервер приложений, отвечающий следующим критериям:
...
Вам нужно будет решить, какие протоколы сервера соединений FCM вы хотите использовать, чтобы ваш сервер приложений мог взаимодействовать с серверами соединений FCM. Обратите внимание, что если вы хотите использовать исходящий обмен сообщениями из ваших клиентских приложений, вы должны использовать XMPP. Более подробное обсуждение этого вопроса см. в разделе Выбор протокола сервера соединений FCM.
Это определенно не то, что я хочу, и поддержка сервера для отправки push-уведомлений имеет смысл, когда массовые сообщения необходимо отправлять на большое количество устройств. Поэтому я не назвал свой вопрос Push-уведомления в реальном времени.
Я вижу выполняемую функцию, которая соответствует моему варианту использования, и я просто хочу, чтобы приложение отображало уведомление пользователю на панели задач его мобильного устройства о выполнении этой функции обратного вызова.
Я использую Ionic 1 для разработки приложений, совершенно новых для Firebase и Ionic. Если есть простой бессерверный подход, который предоставляет сама Firebase, который может удовлетворить мои требования, то я был бы более чем рад услышать об этом.