Что должно быть в каждом Android-приложении со звонками — обложка

В современном мире мобильная связь — на первом месте. Вокруг нас повсюду приложения для аудио- и видеозвонков, онлайн-встреч и трансляций. В условиях пандемии не только деловые переговоры переместились из офисов в цифровое пространство. Звонки родным, концерты и даже приёмы у врачей — всё это теперь доступно через приложения.

В этой статье мы расскажем о функциях, которые должны быть в любом приложении для общения — будь то простая программа для звонков или платформа для деловых встреч и вебинаров. В следующих статьях покажем, как эти подходы можно реализовать на практике.

Уведомление о входящем звонке

Приложения могут отправлять уведомления, чтобы сообщить о чём-то важном. А в приложении для общения нет ничего важнее входящего звонка или запланированной конференции, о которой пользователь забыл.

Поэтому любое приложение, поддерживающее звонки, должно использовать этот механизм для оповещений. Мы можем отображать имя и фото звонящего. Кроме того, для удобства пользователя можно добавить кнопки ответа и отклонения вызова — чтобы не нужно было переходить в приложение и делать лишние действия.

При желании можно не ограничиваться системным дизайном и кардинально изменить его:

Однако для Android-устройств можно пойти ещё дальше и показывать полноэкранное уведомление с вашим дизайном — даже если экран заблокирован!

Уведомление, которое не позволяет закрыть процесс

Звонок может затянуться, и пользователь решит заняться другими делами — откроет, например, текстовый документ. И тут нас ждёт неприятный сюрприз: если системе не хватит ресурсов для запуска нового приложения, она может просто закрыть наше. Соответственно, звонок оборвётся, и пользователь останется в недоумении.

К счастью, есть возможность избежать этого, используя механизм Foreground Service. Мы помечаем приложение как активно используемое пользователем, даже если оно свёрнуто. Тогда система закроет его только в крайнем случае — когда ресурсов не хватит даже самой системе.

Система, в целях безопасности, требует показывать небольшое уведомление, сообщающее пользователю, что приложение работает в фоне.

По сути это обычное уведомление, с одним отличием — его невозможно отменить. Можно не бояться, что пользователь случайно смахнёт его, и приложение снова окажется беззащитным перед всеоптимизирующей системой.

Можно ограничиться совсем небольшим уведомлением:

Оно появляется незаметно — без звука и сразу в панели уведомлений, не «выскакивая» перед пользователем, как, например, уведомление о входящем вызове.

Тем не менее, это всё равно уведомление, и к нему применимы все приёмы из предыдущего пункта — можно добавлять кнопки и настраивать дизайн

Picture-in-picture для видеозвонков

Теперь пользователь может одновременно участвовать в звонке или конференции и заниматься своими делами, не боясь, что соединение оборвётся. Однако мы можем пойти ещё дальше в поддержке многозадачности!

Если ваше приложение поддерживает видеозвонки, для удобства пользователя можно показывать небольшое окно с видео (режим «картинка в картинке»), даже когда он переходит на другие экраны приложения. Начиная с Android 8.0, такое окно можно отображать не только внутри нашего приложения, но и поверх других приложений системы!

Также в это окно можно добавить элементы управления — например, кнопки переключения камеры или паузы.

Возможность переключения устройств вывода аудио

Неотъемлемой частью любого приложения со звонками, видеоконференциями или трансляциями является воспроизведение звука. Но как нам узнать, через какой именно динамик пользователь хочет слышать звук? Можно, конечно, попытаться угадать за него, но всегда лучше угадать и предоставить выбор. Например, с такой функцией пользователю не придётся отключать bluetooth наушники для включения громкой связи

Поэтому, если вы дадите пользователю возможность переключать устройство вывода звука в любой момент звонка, он будет вам благодарен.

Реализация этой функциональности часто зависит от конкретного приложения, но есть способ, который подходит почти всегда. О нём вы узнаете в одной из следующих статей цикла.

Ссылка для быстрого подключения к конференции или звонку (deeplink)

Как для распространения приложения, так и для удобства пользователей полезно уметь поделиться трансляцией или пригласить кого-то в звонок или конференцию. Но может оказаться, что приглашённый человек ещё не пользуется вашим приложением.

Что же, это ненадолго. Можно сгенерировать специальную ссылку, которая перенаправит тех, у кого уже установлено приложение, прямо в тот звонок, куда их пригласили, а тех, у кого приложения нет — в магазин приложений их платформы. Владельцы iPhone попадут в App Store, а пользователи Android — в Google Play.

Кроме того, с такой ссылкой после установки приложения оно сразу запустится, и новый пользователь сразу попадёт в звонок, куда его пригласили!

Итог

Мы рассмотрели основные возможности системы, которые помогают улучшить пользовательский опыт в наших аудио- и видео-приложениях — от защиты приложения от закрытия во время звонка до удобных функций вроде режима picture-in-picture.

Конечно, каждое приложение уникально — у него свои задачи и особенности, поэтому эти советы не являются строгим набором правил. Тем не менее, если что-то из списка кажется уместным в конкретном случае, стоит это реализовать.

  • Разработка