Я изменил приложение чата firebase (тот, который доступен в репетиторе быстрой загрузки) и добавил к нему информацию о статусе пользователя, то есть когда пользователь вводит или выходит из комнаты, сообщение отображается другим пользователям. ex: Пользователь A присоединился.Приложение для чата - уведомляет пользователей со звуком, когда кто-то входит/выходит из комнаты
Теперь я пытаюсь добавить звуковое уведомление к приложению, когда пользователь уходит или входит в комнату. Для этого я использую модуль ngAudio
. Но пока я не смогу достичь этой функциональности.
В настоящее время я пробовал это. Я использую неглубокие часы, чтобы проверять chatstatus
массив
$scope.$watchCollection('chatstatus', function (newVal, oldVal) {
if ($scope.chatstatus[$scope.chatstatus.length-1].status.indexOf("joined") > -1) {
$scope.joinedplay.play();
}
else{
$scope.leftplay.play();
}
});
Но когда я делаю это только зарегистрированный пользователь получает звуковое оповещение, но не другое (явную, так как контроллер только получение выполняется для него) ,
Я также попытался использовать директиву ngRepeatFinished (для запуска звукового уведомления, когда отображается последний элемент списка). Но это тоже не работает.
Я сделал Plunker для этого, и я точно хочу, чтобы мое приложение вел себя так, как этот plunk ведет себя.
Откройте панель в двух разных вкладках (или в браузерах) и присоединитесь к комнате чата с двумя пользователями. Когда один из двух пользователей присоединяется/уходит, другой получает alert
. Это работает, поскольку мы будем обращаться к одному и тому же плунгу.
Но как достичь этого в режиме реального времени?
Примечание: Я использовал alert
вместо звука в приведенном выше примере, поскольку его проще продемонстрировать.