# Технические требования и установка
# Xcode – разработка под iOS/iPadOS
Вам потребуется Xcode версии 14 или новее. Поддерживаемые версии iOS/iPadOS – 15.0 и новее. Для продолжения работы видеоконференции, когда ваше приложение уходит в фон, необходимо в настройках приложения включить соответствующие Background Modes. В файле Info.plist
должны быть такие ключи:
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
<string>voip</string>
</array>
Для правильной работы приложения с камерой и микрофоном добавьте в файл Info.plist
следующие строки:
<key>NSCameraUsageDescription</key>
<string>To allow other people to see you</string>
<key>NSMicrophoneUsageDescription</key>
<string>To allow other people to hear you</string>
Для использования SDK нужно добавить в ваш проект файл TrueConfSDK.xcframework
.
Далее обязательно убедитесь, что TrueConfSDK.xcframework
прописался в вашей IDE по пути: Targets → Project-Name → General → Frameworks, Libraries and Embedded Content где Project-Name – ваш проект.
Подключение SDK к классам Objective-C проекта производится следующими строками:
#import "TrueConfSDK/TrueConfSDK.h"
Для Swift проектов достаточно прописать строку:
import TrueConfSDK
Framework поддерживает архитектуру arm64 для iOS/iPadOS устройств, а также arm64 и x86_64 для симуляторов.
# Android Studio
Проект создан для использования в среде разработки AndroidStudio. Поддерживаемая версия Android – не ниже API 24 (Android 7.0), targetSdk и compileSdk – API 34 (Android 14.0). Библиотеки собраны при использовании Java 17.
Для подключения SDK требуется изменить несколько файлов в проекте:
- В файле настроек
.gradle
(подробнее о нём в официальной документации Gradle (opens new window)):
- В разделе
repositories
добавьте maven репозиторий.username
иpassword
выдаются по запросу через вашего менеджера:
maven {
credentials {
username 'username'
password 'password'
}
url 'https://sdk.trueconf.com/maven/repository/maven-public/'
}
- В разделе
dependencies
подключите библиотеки SDK нужной версии, например:
api 'com.trueconf:trueconfsdk:3.0.0.47@aar'
api 'com.trueconf:media:3.0.0.47@aar'
api 'com.trueconf:jnicore:3.0.0.47@aar'
- Также в
.gradle
должны быть прописаны следующие зависимости:
implementation 'androidx.work:work-runtime:2.9.0'
implementation 'androidx.concurrent:concurrent-futures:1.1.0'
implementation 'androidx.core:core:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'androidx.mediarouter:mediarouter:1.7.0'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
implementation 'androidx.leanback:leanback:1.0.0'
implementation 'androidx.leanback:leanback-preference:1.0.0'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.emoji:emoji-bundled:1.1.0'
implementation 'com.google.android.material:material:1.11.0'
implementation 'org.greenrobot:eventbus:3.3.1'
2. Подключите SDK к классам проекта в коде приложения (пример для Java):
import com.trueconf.sdk.TrueConfSDK; // work with SDK methods
import com.trueconf.sdk.TrueConfListener; // work with SDK events
3. В файле манифеста AndroidManifest.xml
:
- Добавьте следующие возможности (opens new window) для вашего приложения:
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<uses-feature
android:name="android.hardware.audio.low_latency"
android:required="false"/>
<uses-feature
android:name="android.hardware.camera"
android:required="false"/>
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false"/>
<uses-feature
android:name="android.hardware.camera.flash"
android:required="false"/>
<uses-feature
android:name="android.hardware.camera.front"
android:required="false"/>
<uses-feature
android:name="android.hardware.microphone"
android:required="false"/>
<uses-feature
android:name="android.hardware.sensor.accelerometer"
android:required="false"/>
<uses-feature
android:name="android.hardware.sensor.light"
android:required="false"/>
<uses-feature
android:name="android.hardware.sensor.proximity"
android:required="false"/>
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false"/>
<uses-feature
android:name="android.hardware.wifi"
android:required="false"/>
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false"/>
- Добавить следующие разрешения (opens new window):
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
# .NET
Для данного фреймворка TrueConf Mobile SDK упакован в NuGet пакет, который можно подключить с помощью менеджера пакетов в Visual Studio. Пакет содержит реализацию для обеих платформ Android и iOS, а также общий интерфейс для кроссплатформенной разработки. Библиотеки собраны на базе .NET 8 (net8.0-android и net8.0-ios). В качестве примеров используются кроссплатформенные приложения MAUI.
Минимальная поддерживаемая версия Android - 7.0 (API 24), iOS - 15.0.
Для начала работы с TrueConf Mobile SDK необходимо выполнить установку NuGet пакета с SDK:
Правой клавишей мыши кликните по названию проекта.
Выберите пункт Add → NuGet packages.
В открывшемся окне в выпадающем списке перечня источников пакетов выберите пункт Configure Sources....
В настройках источников пакетов нажмите кнопку Add.
В модальном окне добавления источника в пункте Location выберите директорию, которая содержит файл
TrueConfSDK.[version].nupkg
. Укажите название источника (например Mobile SDK), затем нажмите Add Source.Закройте настройки источников пакетов чтобы вернуться в окно добавления пакета.
В выпадающем списке источников пакетов в окне добавления пакета выберите добавленный источник (например Mobile SDK) - в списке отобразится один пакет TrueConfSDK.
Выберите пакет TrueConfSDK и нажмите Add Package.
Основные объекты:
ITrueConfSDK
- общий интерфейс;TrueConfSDKAndroid
- реализация интерфейсаITrueConfSDK
для Android;TrueConfSDKiOS
- реализация интерфейсаITrueConfSDK
для iOS.
# Дополнительные шаги для Android
Добавьте в манифест все необходимые для работы SDK разрешения и возможности (см. пункт 3 раздела Android).
Подключите дополнительные NuGet пакеты:
<PackageReference Include="Xamarin.AndroidX.Work.Runtime" Version="2.10.0.3" />
<PackageReference Include="Xamarin.AndroidX.GridLayout" Version="1.0.0.31" />
<PackageReference Include="Xamarin.AndroidX.Leanback.Preference" Version="1.0.0.31" />
<PackageReference Include="Xamarin.AndroidX.Emoji.Bundled" Version="1.1.0.26" />
# Дополнительные шаги для iOS
В iOS в файл Info.plist
необходимо добавить “Privacy - Camera Usage Description” и “Privacy - Microphone Usage Description” c текстом, который будет отображаться при запросе разрешения использования оборудования.
# Cordova
Для данного фреймворка TrueConf Mobile SDK упакован в Cordova плагин. Плагин содержит реализацию для обеих платформ Android и iOS, а также общий интерфейс для кроссплатформенной разработки. Для работы требуется установить и настроить окружение по инструкции с официального сайта (opens new window).
Минимальная поддерживаемая версия Android - 7.0 (API 24), iOS - 15.0.
Для начала работы создайте проект Cordova, выполнив команду:
cordova create DIRECTORY_NAME PROJECT_PACKAGE DISPLAYED_PROJECT_NAME
Затем перейдите в созданную папку и добавьте плагин TrueConf Mobile SDK командой:
cordova plugin add PATH_TO_TRUECONF_PLUGIN
Добавьте проекты для платформ Android и iOS:
cordova platform add android ios
Для начала использования TrueConf Mobile SDK необходимо получить экземпляр SDK в JS:
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 для Cordova.
Статическая функция получения экземпляра TrueConf Mobile SDK:
(static) getInstance() → {Promise.<TrueConfSDK>}
Возвращает:
// A promise to be called after starting SDK, it gets the SDK instance.
Type - Promise.<TrueConfSDK>
После выполнения вышеперечисленных шагов проект iOS готов к работе. Достаточно запустить файл xcworkspace
в Xcode из папки platforms/ios
.
Чтобы запустить Android проект, необходимо выполнить пару настроек, описанных ниже.
# Дополнительные шаги для Android
В файле app/repositories.gradle
в настройке ext.repos
добавьте maven репозиторий, в котором находятся библиотеки Android SDK (как для Android Studio). username
и password
выдаются по запросу через вашего менеджера.
maven {
credentials {
username 'username'
password 'password'
}
url 'https://sdk.trueconf.com/maven/repository/maven-public/'
}
До инициализации SDK (до вызова метода start
) вызовите следующие методы:
registerApp
– в него нужно передатьApplication
(или его наследника, который используется в проекте);setFallbackActivity
– в него нужно передать классActivity
, к которому следует возвращаться в случае завершения звонка.
Это можно сделать, к примеру, в классе MainActivity
в onCreate
:
public class MainActivity extends CordovaActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate();
TrueConfSDK.getInstance().registerApp(getApplication());
TrueConfSDK.getInstance().setFallbackActivity(MainActivity.class);
...
# React Native
Для данного фреймворка TrueConf Mobile SDK упакован в npm пакет, который можно добавить в проект с помощью npm или yarn. Пакет содержит реализацию для обеих платформ Android и iOS, а также общий интерфейс для кроссплатформенной разработки. Для работы требуется установить и настроить окружение по инструкции с официального сайта (opens new window).
Минимальная поддерживаемая версия Android - 7.0 (API 24), iOS - 15.0.
Для создания проекта выполните команду:
npx @react-native-community/cli@latest init PROJECT_NAME
После добавьте модуль SDK с помощью npm или yarn:
npm install PATH_TO_TRUECONF_MODULE --install-links=true
или
yarn add PATH_TO_TRUECONF_MODULE
# Дополнительные шаги для iOS
Установить необходимые CocoaPods для iOS (только для компьютеров Mac):
cd ios && pod install
Добавьте в Info.plist
разрешения на использование камеры и микрофона непосредственно в Xcode проекте, либо выполнив следующие команды из папки проекта:
cd ios/PROJECT_NAME
plutil -insert NSCameraUsageDescription -string '' Info.plist
plutil -insert NSMicrophoneUsageDescription -string '' Info.plist
# Дополнительные шаги для Android
В build.gradle(Project:Example)
для всех проектов в разделе repositories
добавьте maven репозиторий, в котором находятся библиотеки Android SDK (как для Android Studio). username
и password
выдаются по запросу через вашего менеджера.
maven {
credentials {
username 'username'
password 'password'
}
url 'https://sdk.trueconf.com/maven/repository/maven-public/'
}
До инициализации SDK (до вызова метода start
) необходимо вызвать следующие методы:
registerApp
- в него нужно передатьApplication
(или его наследника, который используется в проекте);setFallbackActivity
- в него нужно передать классActivity
, к которому следует возвращаться в случае завершения звонка.
Это можно сделать, к примеру, в классе MainApplication
в onCreate
:
public class MainApplication extends Application implements ReactApplication {
@Override
public void onCreate() {
super.onCreate();
TrueConfSDK.getInstance().registerApp(this);
TrueConfSDK.getInstance().setFallbackActivity(MainActivity.class);
...