Новости продуктов

Новая альфа-версия Telecom позволяет добавить в приложение VoIP встроенную функцию видимости

Время на чтение: 2 минуты
Посмотреть профиль Nataraj K R
Nataraj K R Инженер по связям с разработчиками, разработка для Android

В первом выпуске библиотеки Jetpack Telecom был представлен класс CallsManager, который заменил устаревший API ConnectionService и упростил интеграцию VoIP. CallsManager упрощает управление жизненным циклом вызовов и маршрутизацию аудио, а также позволяет взаимодействовать с внешними устройствами, такими как умные часы, устройства Bluetooth и Android Auto. Кроме того, он поддерживает расширения для звонков, которые позволяют использовать такие функции, как управление участниками, специальные значки, отключение звука звонка и краткий пересказ встречи на удаленных устройствах. При этом сохраняется обратная совместимость с Android O (API уровня 26).

Jetpack Telecom v1.1.0 обеспечивает сторонним VoIP-приложениям удобство и видимость на уровне встроенных функций. В последней версии появились новые возможности, в том числе единая история звонков, исключение журналов вызовов и встроенная функция обратного звонка, благодаря чему управлять звонками стало ещё удобнее.

Ниже мы расскажем о новых функциях и о том, как их можно использовать в приложениях.

Единый журнал звонков и обратные звонки

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

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

Принципы работы

Чтобы включить эту функцию, выполните следующие действия:

  1. Регистрация обратных вызовов. Ваше VoIP-приложение должно зарегистрировать новый защищенный системой интент: TelecomManager.ACTION_CALL_BACK.
  2. Зарегистрируйте звонок. Используйте TelecomManager.addCall (или связанные API Jetpack), чтобы система автоматически регистрировала звонок.
  3. Управление идентификаторами звонков. Когда звонок регистрируется, CallControlScope.getCallId предоставляет уникальный UUID. Системный номеронабиратель использует именно этот код TelecomManager.EXTRA_UUID при создании намерения обратного вызова.
  4. Инициировать обратный звонок. Ваше приложение должно хранить и обрабатывать данные о звонке, связанные с этим UUID. Когда системное приложение "Телефон" запускает намерение обратного вызова с параметром EXTRA_UUID, ваше приложение может без проблем определить идентификатор и инициировать звонок с правильными данными.
integrated_call_log.png

Точная настройка: исключение журнала вызовов

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

Чтобы решить эту проблему, мы добавили функцию исключения записей журнала вызовов. Теперь вы можете запретить добавление определенных звонков в системные журналы вызовов, задав для логического значения isLogExcluded значение true в элементе CallAttributesCompat. Если настроить этот флаг, вызов будет полностью скрыт из системных журналов и не будет отображаться в стандартном приложении для набора номера.

Важное примечание о совместимости

Эти встроенные функции регистрации и обратного вызова доступны на устройствах с Android 16.1 (SDK 36.1) и более поздних версий. Чтобы скомпилировать приложение с помощью Android SDK 36.1, следуйте инструкциям, приведенным здесь.

Начать

Мы рекомендуем разработчикам протестировать эти интеграции и узнать, как единый журнал звонков и обратные вызовы могут улучшить удобство использования VoIP-приложений.

Чтобы вам было проще начать работу с этими API, мы создали пример приложения, в котором показано, как их использовать.

Чтобы узнать, как применить описанные решения, воспользуйтесь примечаниями к выпуску и документацией.

Примечание. Хотя API Jetpack Telecom версии 1.1.0 доступны для интеграции, возможность системного приложения "Телефония" отображать журналы вызовов внедряется поэтапно, начиная с Google Meet. Чтобы защитить пользователей от спама, встроенные приложения для звонков используют белые списки безопасных пакетов для управления отображением VoIP. Для локального тестирования реализации обратного вызова и ведения журнала мы рекомендуем использовать в качестве среды эмулятора приложение Telecom Sample Dialer с открытым исходным кодом.

Автор:
Продолжить чтение