Is there a way to trigger a notification on every logged-in user's mobile device when a value is changed and saved in Firebase? Currently, I am able to send a local notification using ngCordova when a user enters text in an ionicPopup with textarea. How can I extend this functionality to notify all logged-in users?
Service:
servicesModule.factory("Profile", ["$firebaseObject",
function($firebaseObject) {
return function(new_value) {
var ref = new Firebase("https://feedback-system.firebaseio.com/Courses/" + 'newValue');
var new_value_ref = ref.child(new_value);
return $firebaseObject(new_value_ref);
}
}
]);
Controller:
var ionicApp = angular.module('localNotificationModule', ['ionic', 'ngCordova']);
ionicApp.controller('localNotificationCtrl', ['$scope', '$rootScope', '$ionicPlatform', '$cordovaLocalNotification', '$state', 'Profile', '$firebase', 'Firebase', function($scope, $rootScope, $ionicPlatform, $cordovaLocalNotification, $state, Profile, $firebase, Firebase){
$scope.profile = Profile("physicsmarie");
// calling $save() on the synchronized object syncs all data back to our Firebase database
$scope.testNotification = function() {
$scope.profile.$save().then(function() {
scheduleDelayedNotification($scope.profile.name);
}).catch(function(error) {
alert('Error!');
});
};
function scheduleDelayedNotification(newValue) {
$ionicPlatform.ready(function () {
$cordovaLocalNotification.schedule({
id: 1,
title: 'New Notification',
text: newValue,
autoCancel: true
}).then(function (result) {
alert("Notification Set");
});
});
};
}]);