# Технические требования и установка

# 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 требуется изменить несколько файлов в проекте:

  1. В файле настроек .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:

<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"/>
<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:

  1. Правой клавишей мыши кликните по названию проекта.

  2. Выберите пункт Add → NuGet packages.

  3. В открывшемся окне в выпадающем списке перечня источников пакетов выберите пункт Configure Sources....

  4. В настройках источников пакетов нажмите кнопку Add.

  5. В модальном окне добавления источника в пункте Location выберите директорию, которая содержит файл TrueConfSDK.[version].nupkg. Укажите название источника (например Mobile SDK), затем нажмите Add Source.

  6. Закройте настройки источников пакетов чтобы вернуться в окно добавления пакета.

  7. В выпадающем списке источников пакетов в окне добавления пакета выберите добавленный источник (например Mobile SDK) - в списке отобразится один пакет TrueConfSDK.

  8. Выберите пакет TrueConfSDK и нажмите Add Package.

Основные объекты:

  • ITrueConfSDK - общий интерфейс;

  • TrueConfSDKAndroid - реализация интерфейса ITrueConfSDK для Android;

  • TrueConfSDKiOS - реализация интерфейса ITrueConfSDK для iOS.

# Дополнительные шаги для Android

  1. Добавьте в манифест все необходимые для работы SDK разрешения и возможности (см. пункт 3 раздела Android).

  2. Подключите дополнительные 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);
    	  ...
Обновлено: 22.04.2025