BAS-IP Mobile SDK: как встроить видеодомофонию в собственное мобильное приложение
У жилого комплекса, управляющей компании или PropTech-платформы уже может быть собственное приложение. Жильцы платят за коммуналку, бронируют переговорную, оставляют заявки и получают уведомления. Потом в здании появляется домофония, и жильца просят установить ещё одно приложение, только чтобы ответить на звонок в дверь.
BAS-IP Mobile SDK позволяет обойтись без второго приложения. Видеовызовы, открытие двери и мобильный доступ встраиваются в то приложение, которым жилец уже пользуется. Команда партнёра берёт готовые компоненты BAS-IP и оформляет их под свой продукт.
В обзорной статье об интеграции BAS-IP с системами здания мы разобрали все подходы: стандартные протоколы, Link API, Mobile SDK и Device API. Здесь разберём мобильный: что умеет SDK, что нужно подготовить и где проходят границы.
Один день жильца
Проще всего объяснить SDK через обычный день человека, который живёт в доме с BAS-IP.
Днём на работе ему звонит курьер с панели: телефон показывает видео с камеры ещё до того, как жилец берёт трубку. Он видит коробку, отвечает, открывает дверь.
Вечером возвращается домой и открывает входную дверь со смартфона через Bluetooth. Для этого в приложении заранее активирован мобильный идентификатор UKEY.
Позже хлопает дверь подъезда, а ребёнок должен был прийти из школы. Жилец открывает камеру сам, без всякого звонка, и смотрит, кто у входа.
И всё это в одном приложении. В том самом, где он утром оплатил квитанцию.
Mobile SDK даёт компоненты для каждого из этих действий. Дальше разберём, как они устроены и что потребуется от команды.
Что входит в SDK
BAS-IP Mobile SDK — библиотеки, документация и примеры кода для мобильных разработчиков. Работает вместе с BAS-IP Link, поддерживает iOS и Android.
Через него приложение умеет:
- регистрировать пользователя и пускать его в приложение;
- получать профиль и список доступных ему устройств;
- принимать и совершать домофонные вызовы;
- передавать звук и видео;
- показывать картинку с панели до ответа на звонок;
- открывать камеру панели, когда никто не звонит;
- открывать дверь;
- вести историю входящих и исходящих;
- работать как мобильный ключ по Bluetooth;
- вызывать лифт, если на объекте есть нужное оборудование.
Партнёр берёт только то, что ему нужно, и сам решает, как это выглядит.
Три компонента: Core, Calls и UKEY
Core связывает приложение с BAS-IP Link. Через него жилец входит в аккаунт, восстанавливает пароль, а приложение получает его профиль и список доступных устройств. Отсюда же приложение начинает звонок, открывает дверь, показывает историю и вызывает лифт.
Calls отвечает за домофонную связь: входящие и исходящие вызовы, передачу звука и видео, управление разговором. SDK обрабатывает состояния текущего вызова: поступление входящего звонка, готовность к ответу, завершение разговора и информацию о том, какая сторона завершила вызов. На iOS для системной обработки вызовов используется CallKit.
UKEY превращает смартфон в ключ. Жилец сканирует QR-код, идентификатор загружается в приложение, дальше дверь открывается по Bluetooth через совместимый считыватель BAS-IP.
В зависимости от реализации приложения доступ можно организовать без отдельного нажатия кнопки, например инициировать открытие после разблокировки экрана рядом со считывателем. При этом полностью автоматическое открытие двери при простом приближении с заблокированным телефоном не является стандартной возможностью SDK.
Этот QR-код нужен один раз, чтобы загрузить ключ в телефон. С гостевым QR-кодом, по которому в здание проходит курьер, он никак не связан.
Как звонок доходит до телефона
Когда мобильное приложение свёрнуто или экран смартфона заблокирован, для получения входящего вызова используется механизм push-уведомлений. Он позволяет активировать приложение и подготовить его к приёму звонка, даже если пользователь в этот момент не открыл приложение.
Поэтому звонку предшествует push:
- Посетитель нажимает кнопку вызова на входной панели BAS-IP.
- Вызов поступает на сервер BAS-IP Link.
- Push-сервер отправляет уведомление на смартфон пользователя.
- Приложение активируется и подготавливается к приёму вызова.
- Пользователь получает входящий звонок и может ответить на него.
Для приёма входящих вызовов требуется push-инфраструктура. В её состав входит сервер push-уведомлений, который взаимодействует с Firebase Cloud Messaging (FCM) для Android и Apple Push Notification service (APNs) для iOS. В зависимости от архитектуры проекта push-сервер может быть развёрнут партнёром или предоставлен BAS-IP. Подходящий вариант согласовывается при подготовке интеграции.
Если звонки в приложении не нужны, push-сервер тоже не нужен. Link-сервер нужен в любом случае, SDK работает только с ним.
Интерфейс остаётся вашим
BAS-IP кладёт в SDK шаблонные экраны и иконки, но ни к чему ими не обязывает. Кнопки, экран вызова, навигация, цвета — всё это партнёр рисует сам.
Для жильца домофония выглядит родной частью приложения его управляющей компании, а не вставкой от вендора.
Несколько телефонов на одну квартиру
Курьер жмёт кнопку квартиры, и телефон звонит у обоих родителей сразу. Кто ответил первым, тот и разговаривает, у второго вызов гаснет.
Звонок может прийти на телефоны с небольшой разницей во времени, это зависит от сети и состояния устройств. Список получателей задаётся настройками переадресации в Link. Важно, что домофон не привязан к одному телефону владельца квартиры.
Видео: до ответа и без звонка
Картинку с панели можно показать до того, как жилец возьмёт трубку. Сначала видно, кто пришёл, потом жилец решает, отвечать или нет.
Второй сценарий: открыть камеру, когда никто не звонил. Технически это тоже соединение с панелью, но для пользователя просто кнопка «посмотреть, что у входа».
Кому можно звонить из приложения
Жилец может позвонить на устройства, которые доступны ему в Link: на входную панель, на монитор в своей квартире, консьержу или охране, если так настроен объект.
А вот позвонить из приложения в другое приложение не получится. Прямых вызовов между двумя смартфонами нет, это стоит учесть при проектировании списка контактов.
История звонков и открытие двери
В приложении можно показать журнал: входящие и исходящие, дату, от кого пришёл или кому ушёл вызов, был он принят или пропущен. Жилец видит, что кто-то звонил, пока он был в метро.
Кнопку открытия двери партнёр размещает на экране вызова там, где считает нужным. SDK обеспечивает необходимое взаимодействие с оборудованием BAS-IP, поэтому разработчику не приходится самостоятельно реализовывать механизм отправки команды открытия двери.
Лифт
Функция вызова лифта на этаж работает при двух условиях: на объекте установлен и настроен лифтовый модуль BAS-IP, а у жильца есть права доступа к нему.
С произвольной лифтовой системой здания это работать не будет. Нужен именно модуль BAS-IP. Оборудование и настройки определяются на этапе проектирования объекта.
Зачем использовать SDK вместо самостоятельной разработки домофонной связи
Компания может самостоятельно разработать функции видеодомофонии для своего приложения. Но тогда её команде придётся реализовать обработку входящих и исходящих вызовов, push-уведомления, работу приложения в фоновом режиме, передачу звука и видео, управление разговором, открытие двери и взаимодействие с BAS-IP Link. Эту функциональность также потребуется поддерживать при обновлениях iOS и Android.
BAS-IP Mobile SDK предоставляет готовые компоненты для решения этих задач. Партнёр отвечает за их интеграцию, интерфейс приложения, необходимую инфраструктуру и тестирование, но ему не требуется разрабатывать весь механизм домофонной связи с нуля.
Это особенно полезно для PropTech-платформ, где видеодомофония является лишь одной из функций большого продукта. Команда разработчиков может сосредоточиться на развитии собственного сервиса, используя готовые компоненты BAS-IP для домофонной связи.
Что получает команда разработчиков
После согласования проекта и подписания NDA команда партнёра получает доступ к необходимым материалам BAS-IP Mobile SDK. В их состав входят программные библиотеки, техническая документация и примеры кода. Состав материалов и способ их предоставления зависят от технологической конфигурации и требований проекта.
Необходимые обновления библиотек и документации предоставляются партнёру в рамках технического сопровождения интеграции. Команда партнёра самостоятельно определяет, когда обновлять используемые компоненты и выпускать новую версию своего приложения.
Что остаётся на партнёре
Партнёр отвечает за интеграцию библиотек SDK, пользовательский интерфейс и бизнес-логику, тестирование, публикацию в App Store и Google Play, а также дальнейшее сопровождение приложения. Требования к push-инфраструктуре и ответственность за её развёртывание согласовываются отдельно для каждого проекта.
BAS-IP даёт SDK, документацию, примеры и отвечает на технические вопросы по своим компонентам.
Сторонние проекты с Mobile SDK сейчас идут на BAS-IP Link Self-Hosted. Если проект планируется на Link Cloud, архитектуру стоит обсудить с BAS-IP до начала разработки.
Чего в SDK нет
Mobile SDK — не полная копия приложения BAS-IP Link. Например, в нём нет генерации гостевых QR-кодов и нет бронирования помещений, хотя в родном приложении Link это есть.
Создание гостевых QR-кодов и бронирование помещений доступны через BAS-IP Link API. Если эти функции нужны в собственном мобильном приложении, партнёр может реализовать их через дополнительную интеграцию с BAS-IP Link. Оба инструмента могут использоваться вместе: серверная часть платформы управляет жильцами и их правами доступа через Link API, а мобильное приложение использует SDK для приёма домофонных вызовов и открытия дверей.
Серверные сценарии подробно разобраны в статье про Link API. Перед стартом полезно выписать все нужные сценарии и решить, каким инструментом закрывается каждый.
Сколько это стоит
Отдельной платы за доступ к Mobile SDK, документации и техническую поддержку в ходе интеграции BAS-IP по умолчанию не берёт.
При этом BAS-IP Link и остальные продукты лицензируются на обычных условиях, а мобильные идентификаторы UKEY приобретаются отдельно, у BAS-IP или дистрибьюторов. Если проекту нужна отдельная доработка на стороне BAS-IP или изменение приоритета работ, условия обсуждаются отдельно.
В бюджет проекта стоит заложить и работу своей команды: интеграцию, инфраструктуру, тестирование и сопровождение приложения.
Частые вопросы
Какие версии iOS и Android поддерживаются?
Актуальные минимальные версии указаны в технической документации SDK. Требования меняются вслед за мобильными платформами, поэтому их стоит проверить перед стартом и при каждом обновлении библиотек.
Есть ли публичный sandbox?
Общего публичного sandbox нет. Для Self-Hosted партнёр разворачивает Link у себя и использует эту инсталляцию как среду разработки. Условия по тестовым лицензиям и оборудованию согласовываются под проект.
Как приходят обновления SDK?
Необходимые обновления SDK предоставляются в рамках технического сопровождения интеграции. Команда партнёра самостоятельно планирует их установку, тестирование и выпуск новой версии своего приложения.
Хотите добавить видеодомофонию в своё приложение?
Напишите команде интеграций на [email protected] или оставьте заявку через форму.
Техническое задание заранее не нужно. Достаточно описать приложение и сценарий. Например:
«У нас есть приложение для жильцов на iOS и Android. Хотим принимать в нём видеовызовы с панелей BAS-IP и открывать дверь во время разговора».
Или:
«Хотим добавить мобильный доступ по Bluetooth. Планируем закупать идентификаторы UKEY и выдавать жильцам QR-коды».
Если оборудование и конфигурация Link уже определены, укажите их. Так разговор пойдёт быстрее. Команда BAS-IP подскажет, какие компоненты нужны, что потребуется от инфраструктуры и как получить SDK.