Проблемы с воспроизведение звука и websocket сообщений?

Приветствую, столкнулись с трудностями оптимизации Google Chrome, а именно если переключиться с вкладки приложения на другую вкладку и некоторое время находится там, то воспроизведения звука по websocket сообщению не работает.

По гуглил, тут вообщем 2 беды:

1) Chrome начиная с 57 версии начала активно подавлят...
2) Ровно год назад (декабрь 2018) Google Chrome обновил правила воспроизведения звуков

Исходя из этого, у меня в приложении я реализовал следующее:
1) У нас сообщение дублируются и в firebase для уведомлений, соответственно повесил обработчик в service workers и при новых push уведомлениях я шлю через postMessage в приложение сообщение, для воспроизведения звука, этот метод советовали в статье на хабре, но он так же не работает, если перейти в другую вкладку на некоторое время

2) Иногда я замечал, что postMessage успешно отправлять данные о новом уведомление в обработчик во вкладке, но там возникает ошибка, которую перехватил try catch и с ссылкой на https://developers.google.com/web/updates/2017/09/...

3) Нашел на stackoverflow хак, если добавить аудио файл и зациклить его, то Chrome не будет подавлять его работу в фоне, не знаю пока на сколько это решение актуально, напоминает ситуацию с iOS старых версий, когда такой же метод использовали, как отметили в комментарии к статье на хабре

Отсюда исходит вопрос, почему в вконтакте это работает (уведомления о новых сообщениях), как это реализовать, кто с этим сталкивался? поделитесь плиз своим решением
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 1
zabudkin
@zabudkin
Инженер-системотехник, программист, админ, ТПУ!!!!
Блин, просто ведите активность во вкладке и никакой хром, фаерфокс, опера и другие никак не проигнорирует вкладку.
По SetTimeOut выполняйте действия, как это делают все соцсети и радиоонлайн и ютюб.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы