Новая альфа-версия Telecom позволяет добавить в приложение VoIP встроенную функцию видимости
Время на чтение: 2 минуты
В первом выпуске библиотеки Jetpack Telecom был представлен класс CallsManager, который заменил устаревший API ConnectionService и упростил интеграцию VoIP. CallsManager упрощает управление жизненным циклом вызовов и маршрутизацию аудио, а также позволяет взаимодействовать с внешними устройствами, такими как умные часы, устройства Bluetooth и Android Auto. Кроме того, Telecom Jetpack поддерживает расширения для звонков, которые позволяют использовать дополнительные функции, такие как управление участниками, пользовательские значки, отключение звука звонка и сводка встречи на удаленных платформах. При этом сохраняется обратная совместимость с Android O (уровень API 26).
Jetpack Telecom v1.1.0 обеспечивает сторонним VoIP-приложениям удобство и видимость на уровне встроенных функций. В последней версии появились новые мощные возможности, в том числе единый журнал звонков, исключение списка вызовов и встроенная функция обратного вызова, благодаря которым управлять звонками стало проще, чем когда-либо.
Ниже мы расскажем о новых функциях и о том, как их можно использовать в приложениях.
Устранение пробелов в работе приложения "Телефон": единый журнал звонков и обратные вызовы
Раньше пользователям приходилось открывать отдельные сторонние приложения, чтобы посмотреть журнал VoIP-вызовов или перезвонить по пропущенному вызову. Благодаря новой функции регистрации звонков системные приложения для набора номера теперь могут показывать журналы звонков непосредственно из сторонних VoIP-приложений.
Более того, теперь пользователи могут перезванивать контактам VoIP прямо из встроенного номеронабирателя, что делает общение ещё удобнее.
Принципы работы
Чтобы включить эту функцию, выполните следующие действия:
- Регистрация обратных вызовов. Ваше VoIP-приложение должно зарегистрировать новое защищенное системой намерение:
TelecomManager.ACTION_CALL_BACK. - Зарегистрируйте звонок. Используйте
TelecomManager.addCallили связанные API Jetpack, чтобы система автоматически зарегистрировала звонок. - Управление идентификаторами звонков. При регистрации звонка
CallControlScope.getCallIdпредоставляет уникальный UUID. Системная программа набора номера использует именно этотTelecomManager.EXTRA_UUIDпри создании намерения обратного вызова. - Инициируйте обратный вызов. Ваше приложение должно хранить и обрабатывать сведения о звонке, связанные с этим UUID. Когда системное приложение "Телефон" запускает намерение обратного вызова с параметром
EXTRA_UUID, ваше приложение может без проблем определить идентификатор и инициировать звонок с правильными данными.
Точная настройка: исключение журнала вызовов
Мы понимаем, что не все звонки VoIP должны быть видны в журнале звонков устройства. В зависимости от настроек конфиденциальности, особенностей приложения или характера общения вам может понадобиться управлять тем, что показывается в уведомлениях.
Чтобы решить эту проблему, мы добавили функцию исключения записей журнала вызовов. Теперь вы можете запретить запись определенных вызовов в системные списки вызовов, установив для логического значения isLogExcluded значение true в CallAttributesCompat. Если этот флаг настроен, звонок не будет отображаться в системных журналах и встроенном приложении для звонков.
Важное примечание о совместимости
Эти встроенные функции ведения журнала и обратного вызова доступны на устройствах с Android 16.1 (SDK 36.1) и более поздними версиями. Чтобы скомпилировать приложение с помощью Android SDK 36.1, следуйте инструкциям, приведенным здесь.
Начать
Мы рекомендуем разработчикам протестировать эти интеграции и узнать, как единый журнал звонков и обратные вызовы могут улучшить удобство использования VoIP-приложений.
Чтобы вам было проще начать работу с этими API, мы создали пример приложения, в котором показано, как их использовать.
- Пример приложения: https://github.com/android/platform-samples/tree/main/samples/connectivity/telecom.
Чтобы начать использовать эти функции, ознакомьтесь с примечаниями к выпуску и документацией.
Примечание. Хотя API Jetpack Telecom версии 1.1.0 доступны для интеграции, возможность системного приложения для звонков показывать нативные списки вызовов внедряется поэтапно, начиная с Google Meet. Чтобы защитить пользователей от спама, встроенные приложения для звонков используют белые списки безопасных пакетов для управления отображением VoIP. Для локального тестирования реализации обратного вызова и ведения журнала мы рекомендуем использовать в качестве среды эмулятора приложение Telecom Sample Dialer с открытым исходным кодом.
-
Новости продуктовСегодня мы расскажем, как будем развивать эту концепцию. На вкладке "Вы" собрано все самое интересное из Google Play. Ею пользуются более 250 миллионов активных пользователей в месяц. Наша единая игровая платформа объединяет более 700 миллионов игровых профилей. Google Play всегда рядом с пользователями.
Paul Feng • Время на чтение: 3 минуты -
Новости продуктовУ разработчиков Android есть множество вариантов выбора агентов, больших языковых моделей (LLM), инструментов и интерфейсов командной строки (CLI), которые можно использовать для разработки приложений. Наша цель – помочь вам создавать красивые и качественные приложения для Android, независимо от того, как вы это делаете.
Simona Milanovic • Время на чтение: 4 минуты -
Новости о продуктахМы постоянно расширяем возможности платформы подписок в Google Play, чтобы помочь вам развивать бизнес, адаптироваться к новым бизнес-моделям и привлекать пользователей.
Sheenam Mittal • Время на чтение: 4 минуты
Получайте еженедельную рассылку с последними новостями о разработке для Android.