Здесь на МВидео разместили статью о 10 лучших приложениях для записи звонков на смартфонах, а на 4pda разместили статью о том, что Google полностью запрещает запись звонков на Android. Тема мне близка, потому что.
Недавно я разрабатывал приложение для записи звонков и всё получилось не так, как ожидалось.
Что и как – далее подробно.
* Цель статьи – рассказать о своем путешествии и принять отзывы и ваши идеи, мысли, размышления.
Кто я? Что я? Я разработчик, занимаюсь разработкой услуги виртуальной АТС для корпоративных клиентов.
И, конечно, есть клиенты, у которых есть не только офисные работники, которым достаточно установить стационарные SIP-телефоны или раздать SIP-DECT-телефоны в офисе/складе/магазине.
В чем проблема?
Есть менеджеры «в полях».Кто целый день на месте, в дороге.
И постоянно на связи.
На связи с клиентами, партнерами и серверной частью офиса.
С точки зрения начальника, эти менеджеры по мобильным телефонам немного вышли из-под контроля.
И хотелось бы знать, с кем они разговаривают, как долго и о чем.
Чисто хотя бы для того, чтобы потом легче было решать конфликты, кто кому что обещал или нет. Обычно запись разговора, прослушанная обеими сторонами вместе, кардинально проясняет ситуацию.
Хотя это варьируется? В общем, во время путешествия не помешает сделать официальную запись звонков менеджеров.
Каковы возможные решения? Различные операторы связи и виртуальные АТС предлагают как FMC, так и SIP-клиенты; более продвинутые предлагают НДС с SIM-картами.
Какой еще вариант есть?
И, конечно же, вы можете использовать приложение для записи.Есть облачные сервисы для корпоративных клиентов.
Вы устанавливаете на свой смартфон приложение, которое записывает звонок и передает его в облако.
Далее вы просматриваете отчеты о звонках в веб-интерфейсе и слушаете записанные звонки со всех подключенных к сервису смартфонов.
Комфортный? Довольно.
Я решил воспользоваться этим сервисом.
К сожалению, выбор этих смартфонов на сайте устарел; одних моделей уже не было в продаже, на другие были оговорки.
Почему одни смартфоны записывают звонки, другие записывают, но только при определенных условиях, а третий не записывает вообще? Во-первых, Android и iPhone. Возможно я не точен, но айфон не записывает звонки.
Вероятно, так оно и было изначально: упор на защиту конфиденциальности.
Видел заметку, что где-то слили скриншоты некоторых бизнес-функций для iPhone и там была запись разговора.
Но правда это или нет точно не знаю, может быть кто-то в комментариях прояснит тему.
Для Android все немного проще.
Android был 4, 5, 6, 7, 8, 9, 10, а сейчас на подходе 11-я версия платформы, 12. Google меняет свою политику с каждой версией платформы, делая ее более «жесткой».
Те.
многие записывающие приложения легко работали на версиях 4,5,6, но позже они стали записывать только при определенных условиях или вообще перестали записывать.
При каких условиях они могли записывать? Например, выбор другого источника звука.
Те.
В Android есть LINE и MIC. Похоже, с 7 версии Андроида использовать LINE уже нельзя будет, потому что.
будет только один канал (исходящий, т.е.
ваша речь) или тишина при записи телефонного разговора.
А если вы установите MIC, вы сможете записывать то, что идет с микрофона, и если ваш собеседник говорит громко, микрофон улавливает это с динамика или громкой связи и записывает. Круто, не так ли?
Почему собственное приложение?
Вернемся к моей истории.Позвонив в службу поддержки и запросив хотя бы одну модель, купив которую я смог точно записать звонок.
Но в службе поддержки затруднились с ответом.
И она не сказала мне, какой смартфон купить.
Для того, чтобы точно записывать звонки, вооружившись Android Studio и Asus ZenPhone на Android 6, мы вместе с коллегой (мы программисты.
) написали первую версию нашего приложения для записи звонков.
Все работало отлично, но.
Но Android 6 уже устарел в 2019 году, были Android 7, 8, а Android 9 набирал обороты.
Клиенты, которых я дал для тестирования приложения, уже не имели тот же Android, что и я.
Потом стало ясно, что с LINE больше нельзя записываться.
И почему нельзя рекомендовать каждый смартфон? Еще один нюанс заключается в том, что даже исправную модель смартфона можно обновить до следующего Android и потерять возможность записи звонков.
Те.
Доступные API-интерфейсы Android станут нефункциональными.
Вот, пожалуйста, продолжайте читать выразительно, вздохнув: «Это был тяжелый облом!» На самом деле были и другие варианты.
Каковы были требования к приложению для записи?
1. Собственно запись телефонного разговора.2. Отслеживайте события вызова: начало, ответ, завершение.
3. Загрузка записанных разговоров на сервер.
4. Понятный интерфейс.
Как видите, приложение не смогло сделать первое дело — запись разговора.
ХОРОШО.
С событиями в Андроиде конечно песня еще та.
Нет ни одного из них.
Есть государства.
Все источники на GitHub, работающие с телефонией, имеют примерно одинаковый код, переводящий изменения состояния телефона в события.
Те.
например, телефон перешел из состояния покоя в состояние ЗВОНОК - значит в этот момент мы должны сделать все, что нужно, чтобы начать звонок.
да, это все завернуто в вашу функцию onStartCall)) И еще забавная вещь: момент ответа на исходящий звонок вы не поймаете стандартными средствами, вопрос по Stackoverflow Это не первая пятилетка.
Хорошо, по крайней мере, второй пункт требований можно сделать программно.
Точно так же, как 3.
Что делать с записью?
Кто-то скажет: «Ой, а еще устройства можно рутировать, там запись работает».Да, это возможно.
Но мне бы очень хотелось, чтобы пользователь купил смартфон (возможно, из какого-то рекомендуемого списка), установил приложение, сделал пару простых настроек и вуаля! У него все работает: звонки записываются, передаются в CRM, формируются отчеты.
Все эти танцы с рутом, версиями Андроид, заменой звонилки и т.п.
хотелось бы оставить где-нибудь в сторонке.
Мне хотелось, чтобы все было очень просто и понятно обычному пользователю.
Итак, существуют ли смартфоны со встроенной функцией записи?
Да, есть смартфоны, умеющие записывать звонки стандартной звонилкой, даже если у них Android 7, 8, 9 и 10. Это смартфоны брендов Oppo, Tecno, Realme. Те.Стандартная звонилка записывает разговор и помещает его в каталог.
У этих смартфонов есть свои оболочки — ColorOS, HiOS, Realme UI. Для некоторых смартфонов Huawei и Honor можно использовать хаки 4pda, а также активировать функцию записи звонков.
Сначала я не рассматривал этот вариант. Мне хотелось, чтобы одно приложение записывало звонки и передавало события звонков и записи на сервер.
Но если мы откажемся от одной функции, это не значит, что мы вообще ничего не будем делать? Поэтому вы можете использовать такой вариант: звонок записывается стандартным инструментом, а события и загрузка записанных разговоров на удаленный сервер осуществляется нашим приложением.
При наличии событий звонка можно делать разные полезные вещи — например, получать информацию о звонящем клиенте при входящем звонке.
А после передачи записи ее можно прикрепить к клиенту в CRM, и распознавать запись как текстовую, и еще некоторые полезные вещи.
Запись данных звонков в CRM позволяет анализировать работу менеджера: с кем он разговаривал, когда и как долго, запись о чем был разговор.
Разумеется, приложение должно быть сервисом, который будет постоянно зависать и прослушивать события звонков.
Некоторые оболочки принудительно выгружают резидентные службы из памяти, поэтому вам может потребоваться установить специальное разрешение для работы приложения в режиме энергосбережения.
коллагент
Результатом всех моих исследований и испытаний стало приложение callagent, общедоступное на Github. Написан на Котлине.
Простая схема работы коллагента
интерфейс коллагента Вот еще скриншоты: https://github.com/antirek/callagent/blob/main/screenshots.md
Что делает Каллагент?
При первом запуске вам необходимо настроить приложение: указать свой номер и адрес вашего сервера, куда с вашего смартфона будут отправляться события, данные о звонках и записи разговоров.Что такое события и данные вызова? Эти данные находятся в формате JSON. События — это начало звонка, ответ и окончание звонка.
Данные звонка — это все данные о звонке: время начала, продолжительность, номер звонящего (генерируются по завершении звонка).
Как работает приложение?
Приложение зависает как служба - вы всегда видите значок коллагента в трее, а в панели уведомлений появится уведомление о запущенном сервисе.Когда вы совершаете звонок, приложение отслеживает события и отправляет данные по каждому событию на сервер.
По завершении звонка приложение формирует данные о звонке (calldata), а также отправляет их на сервер.
Затем находит запись звонка в указанном каталоге (запись производится стандартными средствами прошивки) и также отправляет ее на сервер.
Что делать с этими данными?
В репозитории есть пример сервера.Те.
вы можете получать данные на сервере и обрабатывать их по мере необходимости.
Ниже скриншот моего тестового веб-интерфейса, где видны все полученные данные, а также результат последующей передачи данных в CRM.
Каллагент неприхотлив, занимает мало места в лотке, не съедает много памяти.
Несколько пользователей активно используют его каждый день, их начальник собирает много данных и все анализирует.
Так в чем же суть?
Те.Оказывается, мы можем записывать офисные разговоры с менеджерами и передавать их на сервер, если дать им определенные смартфоны, включить запись разговоров в стандартной звонилке и установить callagent, чтобы он передавал записи на сервер.
А на сервере с данными о звонках и записями делаем всё под нужды бизнеса.
репозиторий коллагентов
репозиторий коллагентов: https://github.com/antirek/callagent В репозитории исходный код приложения находится в открытом доступе, вы можете скачать готовый apk или собрать свой собственный apk из исходного кода.В репозитории также есть список смартфонов, которые точно записывают звонки.
P.S. В общем, эта заметка представляет собой сборник моих ограниченных знаний по этой теме, полученных в попытке разобраться в записи разговоров и сделать собственное приложение для записи.
Я не особо разбираюсь в Android API, возможно, что-то можно было бы сделать по-другому.
Надеюсь, кому-то будет интересно и полезно.
Буду рад обсудить вопросы, идеи, мысли - либо в комментариях, либо в группе телеграмм.
https://t.me/callagent Теперь я использую запись разговоров по умолчанию в повседневной жизни.
Те.
Записываются все звонки - звонят ли банки, родственники, звонящие.
Иногда очень удобно переслушать то, что было сказано и о чем сообщили.
Неудобно, что запись на мобильных телефонах ведется в одноканальном режиме.
Может быть, на некоторых смартфонах можно включить двухканальную запись? Было бы удобно отправить двухканальную запись в Яндекс, чтобы распознать диалог и получить записанный диалог в текстовом виде.
Презентация Каллагента на Asterconf 2021, посмотреть презентацию .
Ссылки на заметки, которые побудили меня перенести свой опыт на Хабр: М Видео: 10 приложений для записи разговоров 4ПДА: Google наконец-то запрещает пользователям записывать звонки.
Почему? Теги: #Android #Разработка Android #Разработка мобильных приложений #Смартфоны #CRM-системы #Kotlin #crm #запись звонков
-
Написание Статей Для Неограниченного Трафика
19 Dec, 24 -
120 Дней Бесплатно
19 Dec, 24