В современном мире мобильные устройства уже стали популярнее чем PC и давно обогнали их по продажам. Первую версию мобильного SDK для VoxImplant мы делали, используя свои предыдущие наработки, а именно SDK для Zingaya, но требования и функциональные возможности VoxImplant существенно шире, поэтому у нас не было другого выбора кроме как сделать новую версию SDK. Эта версия получила полную поддержку WebRTC, что позволило нам дать разработчикам полный функционал Web SDK, включая видео звонки, peer-to-peer и другие полезные функции. Подробнее о создании новой версии SDK и новых возможностях под катом.
Начнем с того, что SDK предназначено для работы с платформой VoxImplant, поэтому помимо самого SDK нужно еще зарегистрировать аккаунт разработчика VoxImplant, создать приложение, сценарий обработки звонков, пользователей приложения и т.д. — тут все зависит от того какое именно приложение вы делаете. В архиве с SDK идет демо-апп (софтфон), который будет работать с тем аккаунтом и приложением, которые ему укажут при логине, можете смело использовать с ним видео-чат, описанный нами ранее, вместо веб-приложения и Web SDK будет использоваться демо-приложение и мобильное SDK соответственно.
Сборка WebRTC под iOS заняла определенное время, попытки включить оптимизации для увеличения быстродействия в итоге увенчались успехом и SDK стало работать достаточно хорошо даже на не самых новых и топовых устройствах, например, на iPad 2 вполне работает и аудио и видео. SDK мы собирали сразу под iOS 8, так как Apple приложения, собранные под другие версии, уже в аппстор все равно не пропустит. Еще в свое время во время работы над приложением Zingaya мы выяснили, что iOS разработчики очень любят пользоваться CocoaPods и это существенно упрощает их жизнь, поэтому заодно мы запилили VoxImplantSDK Pod. В архиве вместе с SDK есть демо-приложение. Давайте на его примере и рассмотрим использование SDK. Раз уж мы сделали pod, то можем им воспользоваться:
Если все ок, то должно запуститься приложение, которое попросит ввести имя пользователя приложения, пароль, название приложения VoxImplant, а также имя аккаунта VoxImplant. Если настроить аккаунт VoxImplant (создать приложение, сценарий, правила и юзеров) в соответствии со статьей про p2p видео-чат, то можно смело логиниться и делать p2p аудио/видео звонки между пользователями приложения (ios sdk <-> ios sdk, web sdk <-> ios sdk, ios sdk <-> android sdk и т.д.). Главное не забыть, что на эмуляторе iPhone/iPad видео-камера недоступна. Никто не ограничивает использование SDK только для p2p аудио/видео звонков, вы точно также как и из web sdk можете совершать звонки на обычные номера, на SIP, использовать SDK как клиент к IP АТС, колл-центру и т.д., сценарии правда для всех этих случаев потребуются другие.
В случае с Android процесс создания SDK в целом походил на процесс создания для iOS, но был несколько проще, так как WebRTC встроено в Chrome на Android и постоянно поддерживается в работоспособном и актуальном состоянии. Например, один из последних билдов привнес аппаратную поддержку кодека H.264, но мы пока ее еще не используем, так как есть ряд нюансов. В ближайшем будущем стоит ожидать появления поддержки H.264 для WebRTC в Firefox, а может быть и в Chrome, так как рабочая группа WebRTC объявила, что оба кодека (VP8 и H.264) являются mandatory to implement для вендоров браузеров. Пока мучают некоторые сомнения относительно Chrome и IE (где реализуют ORTC и H.264), но время покажет. Firefox тут пока находится в выигрышном положении, объявив о поддержке обоих кодеков (не без помощи Cisco). Функционально SDK для iOS и Android идентичны, поэтому давайте перейдем к демо-приложению для Android:
Если все хорошо, то запустится приложение, которое имеет функционал аналогичный демо-приложению на iOS, только кнопок управления всяких больше (в iOS-версии просто не все вывели наружу).
В этом приложении логин надо вводить целиком имя_юзера_приложения@имя_приложения.имя_аккаунта.voximplant.com, после коннекта и авторизации можно звонить (если вы уже предварительно настроили аккаунт VoxImplant). Минимальная версия Android, с которой будет работать новое SDK — 4.1+ (API level 16).
В целом, это все, будем вам благодарны за фидбэк, если найдете какие-нибудь проблемы в работе SDK и если расскажете на Хабре какие приложения вам удалось сделать на базе нашей платформы. Мы решили, что до 1000 пользователей могут использовать peer-to-peer аудио и видео звонки совершенно бесплатно. В дальнейших планах добавление IM/presence, упаковка SDK для Appcelerator, PhoneGap, Parse, поддержка H.264.
Небольшое предисловие
Начнем с того, что SDK предназначено для работы с платформой VoxImplant, поэтому помимо самого SDK нужно еще зарегистрировать аккаунт разработчика VoxImplant, создать приложение, сценарий обработки звонков, пользователей приложения и т.д. — тут все зависит от того какое именно приложение вы делаете. В архиве с SDK идет демо-апп (софтфон), который будет работать с тем аккаунтом и приложением, которые ему укажут при логине, можете смело использовать с ним видео-чат, описанный нами ранее, вместо веб-приложения и Web SDK будет использоваться демо-приложение и мобильное SDK соответственно.
iOS SDK
Сборка WebRTC под iOS заняла определенное время, попытки включить оптимизации для увеличения быстродействия в итоге увенчались успехом и SDK стало работать достаточно хорошо даже на не самых новых и топовых устройствах, например, на iPad 2 вполне работает и аудио и видео. SDK мы собирали сразу под iOS 8, так как Apple приложения, собранные под другие версии, уже в аппстор все равно не пропустит. Еще в свое время во время работы над приложением Zingaya мы выяснили, что iOS разработчики очень любят пользоваться CocoaPods и это существенно упрощает их жизнь, поэтому заодно мы запилили VoxImplantSDK Pod. В архиве вместе с SDK есть демо-приложение. Давайте на его примере и рассмотрим использование SDK. Раз уж мы сделали pod, то можем им воспользоваться:
- Скачиваем архив c SDK и демо приложением отсюда
- Распаковываем и удаляем лишнюю папку VoxImplantSDKiOS, она не понадобится, так как будем использовать CocoaPods
- Устанавливаем CocoaPods, если у вас он еще не установлен (см. guides.cocoapods.org/using/getting-started.html#getting-started)
- Открываем терминал, и
в директорию вашего проекта$ cd
- Создаем Podfile. Это делается с помощью
$ touch Podfile
- Открываем созданный Podfile. Первая строка должна указывать платформу и версию.
platform :ios, '8.0'
- Добавляем строку
pod 'VoxImplantSDK'
- Сохраняем Podfile
- Запускаем
$ pod install
- Открываем созданный *.xcworkspace
- В проекте в папке Frameworks удаляем
в данном случае оно лишнееlibVoxImplantSDK.a
- Собираем и запускаем демо-приложение
Если все ок, то должно запуститься приложение, которое попросит ввести имя пользователя приложения, пароль, название приложения VoxImplant, а также имя аккаунта VoxImplant. Если настроить аккаунт VoxImplant (создать приложение, сценарий, правила и юзеров) в соответствии со статьей про p2p видео-чат, то можно смело логиниться и делать p2p аудио/видео звонки между пользователями приложения (ios sdk <-> ios sdk, web sdk <-> ios sdk, ios sdk <-> android sdk и т.д.). Главное не забыть, что на эмуляторе iPhone/iPad видео-камера недоступна. Никто не ограничивает использование SDK только для p2p аудио/видео звонков, вы точно также как и из web sdk можете совершать звонки на обычные номера, на SIP, использовать SDK как клиент к IP АТС, колл-центру и т.д., сценарии правда для всех этих случаев потребуются другие.
Android SDK
В случае с Android процесс создания SDK в целом походил на процесс создания для iOS, но был несколько проще, так как WebRTC встроено в Chrome на Android и постоянно поддерживается в работоспособном и актуальном состоянии. Например, один из последних билдов привнес аппаратную поддержку кодека H.264, но мы пока ее еще не используем, так как есть ряд нюансов. В ближайшем будущем стоит ожидать появления поддержки H.264 для WebRTC в Firefox, а может быть и в Chrome, так как рабочая группа WebRTC объявила, что оба кодека (VP8 и H.264) являются mandatory to implement для вендоров браузеров. Пока мучают некоторые сомнения относительно Chrome и IE (где реализуют ORTC и H.264), но время покажет. Firefox тут пока находится в выигрышном положении, объявив о поддержке обоих кодеков (не без помощи Cisco). Функционально SDK для iOS и Android идентичны, поэтому давайте перейдем к демо-приложению для Android:
- Если у вас еще не установлен ADT, то его можно взять здесь
- Скачиваем архив с SDK отсюда http://voximplant.com/docs/references/mobilesdk/android/
- Распаковываем и запускаем ADT
- Импортируем проект из папки, которая получилась после распаковки архива с SDK
- Билдим и запускаем проект демо-приложения
Если все хорошо, то запустится приложение, которое имеет функционал аналогичный демо-приложению на iOS, только кнопок управления всяких больше (в iOS-версии просто не все вывели наружу).
В этом приложении логин надо вводить целиком имя_юзера_приложения@имя_приложения.имя_аккаунта.voximplant.com, после коннекта и авторизации можно звонить (если вы уже предварительно настроили аккаунт VoxImplant). Минимальная версия Android, с которой будет работать новое SDK — 4.1+ (API level 16).
В целом, это все, будем вам благодарны за фидбэк, если найдете какие-нибудь проблемы в работе SDK и если расскажете на Хабре какие приложения вам удалось сделать на базе нашей платформы. Мы решили, что до 1000 пользователей могут использовать peer-to-peer аудио и видео звонки совершенно бесплатно. В дальнейших планах добавление IM/presence, упаковка SDK для Appcelerator, PhoneGap, Parse, поддержка H.264.
Only registered users can participate in poll. Log in, please.
Воспользовались бы вы мобильным SDK VoxImplant для своего проекта?
40% Да22
32.73% Не знаю18
27.27% Вряд ли15
55 users voted. 18 users abstained.