# Изменения между версиями SDK для Android
# Что изменилось в версии 3.0.0 по сравнению с 2.2.0
- Методы теперь сгруппированы по разным интерфейсам:
Например, было:
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
- Теперь 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
.