Изменения между версиями SDK для Android
Изменения между версиями SDK для Android
Изменения в версии 3.0.0 по сравнению с 2.2.0
Методы теперь сгруппированы по разным интерфейсам:
Например, было:
TrueConfSDK.getInstance().joinConf(confId); TrueConfSDK.getInstance().logout();Стало:
TrueConfSDK.getConferenceManager().joinConf(confId); TrueConfSDK.getServerManager().logout();Внесены существенные изменения в управление звуком:
удалены методы
isSpeakerMuted,getAudioDevices,onAudioPairChanged;для получения актуального списка устройств вывода звука необходимо выполнить запрос
requestAudioStateи реализовать методonAudioDeviceResponseиз интерфейсаAudioDeviceCallback. Также данный callback содержит методыonAudioDeviceChangedиonAudioDeviceUpdate;для изменения устройства вывода по умолчанию сначала необходимо выполнить запрос
requestAudioStateи только после этого установить устройство с помощью методаsetDefaultAudioDevice;во фрагментах
ConferenceFragment,IncomingCallFragmentиPlaceCallFragmentудалены методыonSwitchMicApplied,onMuteSpeakerApplied. Вместо них необходимо реализовать интерфейсAudioDeviceCallback;методы
muteMicrophone,muteSpeaker,changeAudioDeviceдолжны использоваться только во время конференции, иначе они не сработают из-за проверки.
Изменения в управлении видео:
добавлен метод
onVideoDeviceUpdateдля уведомления об изменении состояния камеры;во фрагментах
ConferenceFragment,IncomingCallFragmentиPlaceCallFragmentудалён методonSwitchCameraAppliedметод
muteCameraдолжен использоваться только во время конференции, иначе он не сработает из-за проверки.
Изменены пути до некоторых важных классов, например класс кастомной кнопки, а также
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Метод
onStateChangedполучил параметрFSM.State newState, который возвращает новый собственный статус (userOffline,userOnline,userBusyи т.д.). Список статусов представлен в таблице в разделе “Типы. UserPresStatus”.Изменены некоторые названия иконок для кастомизации:
вместо
ic_selfie_iconтеперь используетсяic_rotate. Также на собственном видео добавлена иконка изменения размераic_minimize_fullscreen;иконки
shape_circle_background_red_pressedиshape_circle_background_redтеперь не используются;добавлена иконка
conf_button_backдля изменения заднего фона кнопок.
Полный список смотреть в 5 примере "Кастомизация интерфейса".
Библиотеки собраны при использовании Java 17 (было Java 11).
В составе SDK обновлены библиотеки OpenSSL 1.1.1w и SQLite 3.47.0.
Поддержано перетягивание собственного видео на экране конференции.
Изменены версии некоторых зависимостей, необходимых для работы 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/' }Чтобы подключить 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'Минимальная версия Android теперь 7.0 (minSdkVersion 24).
Подключение SDK к классам проекта производится следующими строками:
import com.trueconf.sdk.TrueConfSDK;// to work with SDK methods import com.trueconf.sdk.TrueConfListener; // to work with SDK eventsПеред вызовом метода
startнеобходимо вызвать методregisterAppи передать в него дочерний класс отApplication, например:public class TestApp extends Application { @Override public void onCreate() { super.onCreate(); TrueConfSDK.getInstance().registerApp(this); TrueConfSDK.getInstance().start("server.name", true); ... } }Необходимо вызвать метод
setFallbackActivity, в котором нужно указать классActivity, к которому следует возвращаться в случае завершения звонка, например:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TrueConfSDK.getInstance().setFallbackActivity(MainActivity.class); ... } }В файл манифеста теперь не нужно подключать activity
com.vc.gui.activities.Call,com.vc.gui.activities.PermissionActivityиservice com.vc.service.ExternalSchemeHelperService.Расширены возможности кастомизации: добавлена возможность размещения собственного видео и видео участников конференции в отдельном Fragment, а также изменение размеров и координат видеоокон участников конференции. Подробности описаны в документации к 7 примеру.
Некоторые изменения в методах, а именно:
в методе
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.
