# Изменения между версиями SDK для Android

# Что изменилось в версии 3.0.0 по сравнению с 2.2.0

  1. Методы теперь сгруппированы по разным интерфейсам:

Например, было:

TrueConfSDK.getInstance().joinConf(confId);
TrueConfSDK.getInstance().logout();

Стало:

TrueConfSDK.getConferenceManager().joinConf(confId);
TrueConfSDK.getServerManager().logout();

2. Внесены существенные изменения в управление звуком:

  • удалены методы isSpeakerMuted, getAudioDevices, onAudioPairChanged;

  • для получения актуального списка устройств вывода звука необходимо выполнить запрос requestAudioState и реализовать метод onAudioDeviceResponse из интерфейса AudioDeviceCallback. Также данный callback содержит методы onAudioDeviceChanged и onAudioDeviceUpdate;

  • для изменения устройства вывода по умолчанию сначала необходимо выполнить запрос requestAudioState и только после этого установить устройство с помощью метода setDefaultAudioDevice;

  • во фрагментах ConferenceFragment, IncomingCallFragment и PlaceCallFragment удалены методы onSwitchMicApplied, onMuteSpeakerApplied. Вместо них необходимо реализовать интерфейс AudioDeviceCallback;

  • методы muteMicrophone, muteSpeaker, changeAudioDevice должны использоваться только во время конференции, иначе они не сработают из-за проверки.

3. Изменения в управлении видео:

  • добавлен метод onVideoDeviceUpdate для уведомления об изменении состояния камеры;

  • во фрагментах ConferenceFragment, IncomingCallFragment и PlaceCallFragment удалён метод onSwitchCameraApplied

  • метод muteCamera должен использоваться только во время конференции, иначе он не сработает из-за проверки.

4. Изменены пути до некоторых важных классов, например класс кастомной кнопки, а также TrueConfListener и CallCast.

Было:

com.trueconf.sdk.data.TCSDKExtraButton
com.trueconf.sdk.interfaces.TrueConfListener
com.trueconf.sdk.gui.activities.CallCast

Стало:

com.trueconf.sdk.presentation.views.TCExtraButton
com.trueconf.sdk.TrueConfListener
com.trueconf.sdk.presentation.activities.CallCast

5. Метод onStateChanged получил параметр FSM.State newState, который возвращает новый собственный статус (userOffline, userOnline, userBusy и т.д.). Список статусов представлен в таблице в разделе “Типы. UserPresStatus”.

6. Изменены некоторые названия иконок для кастомизации:

  • вместо ic_selfie_icon теперь используется ic_rotate. Также на собственном видео добавлена иконка изменения размера ic_minimize_fullscreen;

  • иконки shape_circle_background_red_pressed и shape_circle_background_red теперь не используются;

  • добавлена иконка conf_button_back для изменения заднего фона кнопок.

Полный список смотреть в 5 примере "Кастомизация интерфейса".

7. Библиотеки собраны при использовании Java 17 (было Java 11).

8. В составе SDK обновлены библиотеки OpenSSL 1.1.1w и SQLite 3.47.0.

9. Поддержано перетягивание собственного видео на экране конференции.

10. Изменены версии некоторых зависимостей, необходимых для работы SDK. Полный список перечислен в разделе интеграции с Android Studio.

# Что изменилось в версии 2.2.0 по сравнению с 1.3.3

  1. Теперь Android SDK распространяется через maven репозиторий с доступом по логину и паролю, которые выдаются по запросу через вашего менеджера. Необходимо в файле gradle в разделе repositories добавить maven репозиторий следующим образом:
maven {
    credentials {
        username 'username'
        password 'password'
    }
    url 'https://sdk.trueconf.com/maven/repository/maven-public/'
}

2. Чтобы подключить SDK, необходимо в dependencies в файле настроек .gradle добавить 3 библиотеки:

api 'com.trueconf:trueconfsdk:2.2.0.101@aar'
api 'com.trueconf:media:2.2.0.101@aar'
api 'com.trueconf:jnicore:2.2.0.101@aar'

3. Минимальная версия Android теперь 7.0 (minSdkVersion 24).

4. Подключение SDK к классам проекта производится следующими строками:

import com.trueconf.sdk.TrueConfSDK;// to work with SDK methods
import com.trueconf.sdk.TrueConfListener;    // to work with SDK events

5. Перед вызовом метода start необходимо вызвать метод registerApp и передать в него дочерний класс от Application, например:

public class TestApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        TrueConfSDK.getInstance().registerApp(this);
        TrueConfSDK.getInstance().start("server.name", true);
    	  ...
    }
}

6. Необходимо вызвать метод setFallbackActivity, в котором нужно указать класс Activity, к которому следует возвращаться в случае завершения звонка, например:

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TrueConfSDK.getInstance().setFallbackActivity(MainActivity.class);
	  ...
    }
}

7. В файл манифеста теперь не нужно подключать activity com.vc.gui.activities.Call, com.vc.gui.activities.PermissionActivity и service com.vc.service.ExternalSchemeHelperService.

8. Расширены возможности кастомизации: добавлена возможность размещения собственного видео и видео участников конференции в отдельном Fragment, а также изменение размеров и координат видеоокон участников конференции. Подробности описаны в документации к 7 примеру.

9. Некоторые изменения в методах, а именно:

  • в методе start убран параметр Context;

  • добавлен метод registerApp, в котором нужно указать дочерний класс от Application;

  • добавлен метод setFallbackActivity, в котором нужно указать класс Activity, к которому следует возвращаться в случае завершения звонка;

  • добавлены методы для управления динамиками (muteSpeaker, isSpeakerMuted, setDefaultSpeakerEnabled, getAudioDevices, getCurrentAudioDevice, setAudioDevice);

  • onContactListUpdate - событие в TrueConfListener.UserStatusEventsCallback, которое приходит при загрузке списка контактов и их статусов после авторизации пользователем на сервере;

  • добавлен новый интерфейс - TrueConfListener.AudioDeviceCallback, который содержит 2 метода - onAudioPairChanged (вызывается при изменении устройства вывода) и onAudioDeviceListChanged (вызывается при изменении списка устройств);

  • добавлены методы setDefaultAudioEnabled и setDefaultCameraEnabled для установления дефолтного состояния микрофона и камеры соответственно;

  • методы microphoneMuted и cameraMuted переименованы в isMicrophoneMuted и isCameraMuted соответственно;

  • убран флаг trueConfSDKLogEnable, который включал расширенные логи SDK (теперь они пишутся всегда). Также убраны методы startSavingLogs и stopSavingLogs, т.к. логи автоматически собираются в подкаталог ./files/logs.

Обновлено: 17.12.2024