# Changes between SDK versions for Android
# What has changed in version 3.0.0 compared to 2.2.0
Methods are now grouped by different interfaces:
For example, it was:
TrueConfSDK.getInstance().joinConf(confId);
TrueConfSDK.getInstance().logout();
Changed to:
TrueConfSDK.getConferenceManager().joinConf(confId);
TrueConfSDK.getServerManager().logout();
2. Significant changes have been made to audio management:
methods
isSpeakerMuted
,getAudioDevices
,onAudioPairChanged
have been removed;To obtain the current list of audio output devices, you need to execute the
requestAudioState
request and implement theonAudioDeviceResponse
method from theAudioDeviceCallback
interface. This callback also includes the methodsonAudioDeviceChanged
andonAudioDeviceUpdate
.To change the default output device, you must first execute the
requestAudioState
request, and only then set the device using thesetDefaultAudioDevice
method;In the
ConferenceFragment
,IncomingCallFragment
, andPlaceCallFragment
, the methodsonSwitchMicApplied
andonMuteSpeakerApplied
have been removed. Instead, you need to implement the interfaceAudioDeviceCallback
;The methods
muteMicrophone
,muteSpeaker
,changeAudioDevice
should be used only during a conference; otherwise, they will not work due to a check.
3. Changes in video management:
added the
onVideoDeviceUpdate
method to notify about camera status changes;In the
ConferenceFragment
,IncomingCallFragment
, andPlaceCallFragment
fragments, theonSwitchCameraApplied
method has been removed.The
muteCamera
method should be used only during a conference; otherwise, it will not work due to verification.
4. Paths to some important classes have been changed, such as the custom button class, as well as TrueConfListener
and CallCast
.
Was:
com.trueconf.sdk.data.TCSDKExtraButton
com.trueconf.sdk.interfaces.TrueConfListener
com.trueconf.sdk.gui.activities.CallCast
Changed to:
com.trueconf.sdk.presentation.views.TCExtraButton
com.trueconf.sdk.TrueConfListener
com.trueconf.sdk.presentation.activities.CallCast
5. The onStateChanged
method received the FSM.State newState
parameter, which returns the new user status (userOffline
, userOnline
, userBusy
, etc.). The list of statuses is provided in the table in the "Types. UserPresStatus" section.
6. Some icon names for customization have been changed:
Instead of
ic_selfie_icon
,ic_rotate
is now used. Additionally, a resize iconic_minimize_fullscreen
has been added to the self-view video.The icons
shape_circle_background_red_pressed
andshape_circle_background_red
are no longer used;Added the
conf_button_back
icon for changing the button background.
See the full list in Example 5 "Interface Customization".
7. Libraries are compiled using Java 17 (previously Java 11).
8. The SDK now includes updated libraries OpenSSL 1.1.1w and SQLite 3.47.0.
9. Drag-and-drop support for personal video on the conference screen is enabled.
10. The versions of some dependencies required for the SDK have been updated. The full list is provided in the Integration with Android Studio section.
# What has changed in version 2.2.0 compared to 1.3.3
- The Android SDK is now distributed through a Maven repository, accessible via a login and password provided upon request through your manager. You need to add the Maven repository to the repositories section in the Gradle file as follows:
maven {
credentials {
username 'username'
password 'password'
}
url 'https://sdk.trueconf.com/maven/repository/maven-public/'
}
2. To integrate the SDK, you need to add three libraries to dependencies in the .gradle
configuration file:
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. The minimum Android version is now 7.0 (minSdkVersion 24).
4. Connect the SDK to the project classes using the following lines:
import com.trueconf.sdk.TrueConfSDK;// to work with SDK methods
import com.trueconf.sdk.TrueConfListener; // to work with SDK events
5. Before calling the start
method, you must call the registerApp
method and pass a subclass of Application
to it, for example:
public class TestApp extends Application {
@Override
public void onCreate() {
super.onCreate();
TrueConfSDK.getInstance().registerApp(this);
TrueConfSDK.getInstance().start("server.name", true);
...
}
}
6. You need to call the setFallbackActivity
method, where you should specify the Activity
class to return to when the call ends, for example:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TrueConfSDK.getInstance().setFallbackActivity(MainActivity.class);
...
}
}
- It is no longer necessary to include the activity
com.vc.gui.activities.Call
,com.vc.gui.activities.PermissionActivity
, andservice com.vc.service.ExternalSchemeHelperService
in the manifest file.
8. Customization features have been expanded: it is now possible to place your own video and conference participant videos in a separate Fragment, as well as to change the sizes and coordinates of the video layout for participants. Details are described in the documentation for example 7.
9. Some changes in the methods, namely:
In the
start
method, theContext
parameter has been removed.Added the
registerApp
method, where a subclass ofApplication
must be specified;Added the
setFallbackActivity
method, where you need to specify theActivity
class to return to when the call ends;Added methods for managing speakers (
muteSpeaker
,isSpeakerMuted
,setDefaultSpeakerEnabled
,getAudioDevices
,getCurrentAudioDevice
,setAudioDevice
);onContactListUpdate
- an event inTrueConfListener.UserStatusEventsCallback
that occurs when the contact list and their statuses are loaded after the user logs in to the server;A new interface has been added -
TrueConfListener.AudioDeviceCallback
, which contains 2 methods -onAudioPairChanged
(invoked when the output device changes) andonAudioDeviceListChanged
(invoked when the list of devices changes);Added methods
setDefaultAudioEnabled
andsetDefaultCameraEnabled
to set the default state of the microphone and camera, respectively;The methods
microphoneMuted
andcameraMuted
have been renamed toisMicrophoneMuted
andisCameraMuted
, respectively;The
trueConfSDKLogEnable
flag, which enabled detailed SDK logs, has been removed (they are now always recorded). Additionally, the methodsstartSavingLogs
andstopSavingLogs
have been removed, as logs are automatically collected in the./files/logs
subdirectory.