# Примеры для Cordova
Примеры являются проектами кроссплатформенных приложений Cordova. Каждый пример состоит из 3 частей: Android части, iOS части и общего кода JS.
Android часть содержит проект для IDE Android Studio;
iOS часть содержит проект для IDE Xcode;
JS часть содержит UI, основной код логики работы, и код использования SDK.
Всё что нужно для начала работы с TrueConf Mobile SDK – это получить экземпляр SDK в JS с помощью функции getInstance
:
let sdkBuilder = cordova.require('trueconf-sdk-plugin.sdk');
sdkBuilder.getInstance().then(instance => {
sdk = instance; // save the SDK instance for further use
}, error => console.log(error));
Инициализация SDK выполняется вызовом функции start
. Следом за инициализацией в методе onSDKReady
настраивается обработка необходимых событий с помощью функции addEventListener
:
onSDKReady: function() {
sdk.addEventListener("onLogin", this.onLogin.bind(this));
sdk.addEventListener("onLogout", this.onLogout.bind(this));
sdk.addEventListener("onServerStatus", this.onServerStatus.bind(this));
sdk.addEventListener("onInvite", this.onInvite.bind(this));
}
iOS проект готов к работе. Достаточно запустить файл xcworkspace
в Xcode из папки platforms/ios
.
Android проект нуждается в дополнительной настройке: необходимо прописать адрес репозитория, а также добавить вызовы методов registerApp
и setFallbackActivity
(подробнее описано здесь).
# Пример 1. Демонстрация основных возможностей SDK
Одностраничное приложение, в котором реализованы основные функции TrueConf Mobile SDK:
Инициализация и подключение к серверу.
Отслеживание статусов клиента.
Подключение к серверу, логин пользователем и логаут по нажатию соотвествующих кнопок.
Звонок другому пользователю по его TrueConf ID.
Возможность принимать входящие видеозвонки и приглашения в групповую конференцию.
Пример содержит основной функционал работы TrueConf Mobile SDK:
- Обрабатываются события:
onServerStatus
- отслеживание статуса подключения к серверу;onLogin
- отслеживание статуса логина;onLogout
- отслеживание статуса логаута;onInvite
- обработка входящих звонков и приглашений в групповую конференцию.
- По клику на соответствующие кнопки вызываются методы:
start
- инициализация SDK;loginAs
- авторизация с TrueConf ID и паролем;logout
- деавторизация пользователя;callTo
- звонок пользователю, TrueConf ID которого введен в соответствующее поле ввода.
# Пример 2. Демонстрация работы с trueconf-ссылками
Одностраничное приложение, в котором реализованы следующие функции TrueConf Mobile SDK:
Инициализация SDK без указания сервера.
Обработка введенной trueconf-ссылки по нажатию на кнопку.
Пример содержит основной функционал работы TrueConf Mobile SDK:
- Обрабатываются события:
onServerStatus
- отслеживание статуса подключения к серверу;onStateChanged
- отслеживание состояния клиента;onLogin
- отслеживание статуса логина;onLogout
- отслеживание статуса логаута;onInvite
- обработка входящих звонков и приглашений в групповую конференцию.
- По клику на соответствующие кнопки вызываются методы:
start
- инициализация SDK;parseProtocolLink
- выполнение последовательности команд trueconf-ссылки.
# Пример 3. Работа со статусами пользователей
В примере представлен работающий образец кода, позволяющий отслеживать статусы пользователей на сервере, с которыми можно установить связь, а также добавлять для отслеживания статусы любых пользователей и следить за их доступностью. Кроме самого статуса пользователя используется стандартный функционал TrueConf Mobile SDK: подключение к серверу, логин, автоматический прием звонка.
Вся работа примера построена на основании единственного блока обработчика события onUserStatusUpdate
, который выполняется, когда сервер присылает статус какого-либо пользователя. Для добавления любого пользователя в отслеживаемые используется метод getUserStatus
. При этом реализованный код позволяет отслеживать и отображать в таблице изменения статуса конкретного пользователя, обрабатывать добавление новых пользователей и добавление любого пользователя для отслеживания.
Пример является одностраничным приложением, в котором реализованы основные функции TrueConf Mobile SDK:
Отслеживание статусов пользователей из адресной книги и списка отслеживания.
Добавление пользователей в список отслеживания по их TrueConf ID.
Подключение к серверу и логин пользователем.
Отображение списка пользователей с их статусами из адресной книги и списка отслеживания.
Возможность принимать входящие видеозвонки и приглашения в групповую конференцию.
Пример содержит основной функционал работы TrueConf Mobile SDK:
- Обрабатываются события:
onServerStatus
- отслеживание статуса подключения к серверу;onLogin
- отслеживание статуса логина;onLogout
- отслеживание статуса логаута;onInvite
- обработка входящих звонков и приглашений в групповую конференцию;onUserStatusUpdate
- отслеживание изменения статусов пользователей из адресной книги или списка отслеживания.
- По клику на соответствующие кнопки вызываются методы:
start
- инициализация SDK;loginAs
- авторизация с TrueConf ID и паролем;logout
- деавторизация пользователя;getUserStatus
- получение статуса пользователя и добавление его в список отслеживания в текущей сессии.
# Пример 4. Работа с групповыми конференциями
Одной из важнейших возможностей TrueConf Mobile SDK является возможность создания и участия в видеоконференциях с несколькими пользователями одновременно. На данный момент в SDK возможно подключение только к уже существующим конференциям на сервере.
Подключение возможно 4 способами:
Получение приглашения посредством входящего вызова, т.е. так же, как и обычного вызова
onInvite
c подтверждениемacceptCall
.По ID конференции с использованием метода
joinConf
.По trueconf-ссылке, включающей ID конференции с использованием метода
parseProtocolLink
.Методом
scheduleLoginAs
, передавая в него ID конференции параметромcallToUser
и указываяisPublic=true
. Этот метод аналогичен методуparseProtocolLink
, но не требует знания формата командной строки, предоставляя фиксированный набор параметров.
Пример содержит основной функционал работы TrueConf Mobile SDK:
- Обрабатываются события:
onServerStatus
- отслеживание статуса подключения к серверу;onLogin
- отслеживание статуса логина;onLogout
- отслеживание статуса логаута;onInvite
- обработка входящих звонков и приглашений в групповую конференцию;onConferenceStart
- обработка момента подключения к конференции;onConferenceEnd
- обработка момента выхода из конференции.
- По клику на соответствующие кнопки вызываются методы:
start
- инициализация SDK;loginAs
- авторизация с TrueConf ID и паролем;logout
- деавторизация пользователя;joinConf
- присоединение к конференции по её ID.
# Пример 5. Кастомизация интерфейса
Пример показывает, каким образом можно добавить свои собственные дополнительные кнопки и открыть своё окно поверх окна конференции.
Общая часть дублирует функционал Примера 1:
подключение к серверу;
авторизация и деавторизация;
звонок пользователю по TrueConf ID;
обработка основных событий и отслеживание статуса клиента.
В примере реализовано добавление кастомной кнопки и отображение отдельного окна поверх окна конференции. В функцию addExtraButton
передаётся название кастомной кнопки, а затем в обработчике события onExtraButtonPressed
вызывается функция showAlertPage
, которая отображает новое окно поверх окна конференции - Activity
для Android, UIViewController
для iOS. В данном случае эти окна создаются и настраиваются непосредственно в плагине SDK: для Android это класс DialogActivity
, для iOS - DialogViewController
. Эти классы можно редактировать.
# Пример 6. Чат
Одностраничное приложение, в котором реализованы основные функции TrueConf Mobile SDK:
Инициализация и подключение к серверу.
Отслеживание статусов клиента.
Подключение к серверу, логин пользователем и логаут по нажатию соотвествующих кнопок.
Отправка сообщения другому пользователю по его TrueConf ID.
Возможность принимать входящие видеозвонки и приглашения в групповую конференцию.
Пример содержит основной функционал работы TrueConf Mobile SDK:
- Обрабатываются события:
onServerStatus
- отслеживание статуса подключения к серверу;onLogin
- отслеживание статуса логина;onLogout
- отслеживание статуса логаута;onInvite
- обработка входящих звонков и приглашений в групповую конференцию;onChatMessageReceived
- обработка входящих сообщений в чате. При приходе нового текстового сообщения появляется Alert с текстом сообщения и именем отправителя.
- По клику на соответствующие кнопки вызываются методы:
start
- инициализация SDK;loginAs
- авторизация с TrueConf ID и паролем;logout
- деавторизация пользователя;sendChatMessage
- отправка сообщения в чат пользователю, TrueConf ID которого введен в соответствующее поле ввода.