- Added
DirectCall.resumeAudioTrack
andParticipant.resumeAudioTrack
, which resume the audio track for a direct call or a participant in a call.- These methods allow users to restart the audio track if it was paused during the call.
- Added
DirectCallLogListQuery.Params.setStartedAt
andDirectCallLogListQuery.Params.setEndedAt
, which filter the list of direct call logs by the start and end date of the call.- If
startedAt
is set andendedAt
is not set, the range of the query will bestart_ts <= callLog.startedAt <= min(now, start_ts + 90 days)
. - If
startedAt
is not set andendedAt
is set, the range of the query will beend_ts - 90 days <= callLog.startedAt <= end_ts
. - If both
startedAt
andendedAt
are set, the range of the query will bestart_ts <= callLog.startedAt <= end_ts
. - If both are not set, the range is
90 days ago <= callLog.startedAt <= now
- If
- Fixed the issue where onRecordingSucceeded() was called late when local recording succeeded.
- Fixed the issue where customItems are missing in SendBirdCallListener.onRinging
- Updated the WebRTC version to M118
- Improved WebRTC internal logging
- Fixed the Bluetooth Audio Connection Logic
- Stability improvements
- Remove duplicative dependency of WebRTC to allow simultaneous use of Sendbird Calls and Live SDK
- When a direct call is ended before connecting, the call will have an end result of DirectCallEndResult.NotConnected.
- Fix kotlin version.
- Fix Bluetooth connection issues on Android 11 and below.
- Fixed an issue where call will not be properly reconnected after network connection has been lost.
- Fix an issue where Direct Call quality statistics won't be collected when the call is being reconnected.
- Fix an issue where camera would be incorrectly mirrored in Direct Calls.
- Added a feature to track push notification delivery status within the SDK.
- Fix an issue where Direct Call's Connection Quality would report 'Unavailable' for a few seconds after connecting the call.
- Added support for Direct Call quality monitoring in Sendbird Dashboard
- Added
DirectCall.ringingSource
, which indicates the source of the dial event in DirectCall. - Added
SendbirdCall.incomingCalls
, which returns a list of incoming calls to the current user.
- Added
DirectCallListener.onCalleeDialReceived
to notify the caller when the calle has received the call. This event listener will be called when the callee has received theSendBirdCallListener.onRinging
event.
For 1.11.0, the SDK supports Huawei mobile service(HMS) Push kit for huawei devices.
- Added functions related to registering and unregistering HMS tokens.
- Added
SendBirdCalls.registerPushToken(String, PushTokenType, Boolean, CompletionHandler)
to register a given push token. - Added
SendBirdCalls.unregisterPushToken(String, PushTokenType, CompletionHandler)
to unregister a given push token. - Added
SendBirdCalls.unregisterAllPushTokens(PushTokenType, CompletionHandler)
to unregister all given push token type. - Deprecated
SendBirdCalls.registerPushToken(String, Boolean, CompletionHandler)
,SendBirdCalls.unregisterPushToken(String, CompletionHandler)
, andSendBirdCalls.unregisterAllPushTokens(CompletionHandler)
.
- Added
- Adjusted the log level of logs that may be misunderstood as indicating serious issues with the SDK.
- Added
retrieveMissedDirectCalls()
in SendbirdCall
- Improved connection quality listener in Direct Calls.
- Added a feature to detect connection qualities in ongoing Direct Calls.
- Added
ConnectionQualityListener
- Added
ConnectionMetrics
- Added
- Added a feature to kick other participants in a room with the same user id as the current user.
- Added Room.EnterParams.kickSiblings
- Add interface related to Bluetooth device connection
- Added directCall.fetchBluetoothDevices.
- Added localParticipant.fetchBluetoothDevices.
- Improved stability
- Improved stability
- Improved stability
- Added room event listeners to detect local participant’s connection with the server
- Added
RoomListener.onLocalParticipantDisconnected
- Added
RoomListener.onLocalParticipantReconnected
- Added
- Added
directCall.resumeVideoCapturer
- Added a feature to invite users to enter a room.
- Added
room.sendInvitation(inviteeId:completionHandler:)
. - Added
RoomInvitation
class to manage invitation. - Added
roomInvitation.accept
,roomInvitation.decline
,roomInvitation.cancel
. - Added
RoomDelegate.onInvitationAccepted
,RoomDelegate.onInvitationDeclined
,RoomDelegate.onInvitationCanceled
.
- Added
- Added a new interface to delete a room.
- Added
room.delete
.
- Added
- Added
directCall.resumeVideoCapturer
.
- Updated webrtc version to M106
- Fixed a bug where bluetooth headphones didn't work
- Improved stability
- Fixed a bug where the packet loss rate was negative.
- Changed the
startedAt
property of DirectCall to public - Improved stability
For 1.9.0, a feature to delete a room in Group call is released.
-
Added
onDeleted()
inRoomListener
which is invoked when the room has been deleted by the Platform API. -
Fixed a bug that causes a crash if a user hadn't granted
BLUETOOTH_CONNECT
permission on the app targeting Android 12.
For 1.8.0, a new feature is released for both Group call and Direct call features respectively.
For the Group call feature, you can now add and manage custom items to store additional information for a room.
- Here are the details of the update:
- Added
customItems
inRoom
. - Added
customItems
inRoomParams
. - Added
updateCustomItems(Map<String, String>, CompletionHandler)
anddeleteCustomItems(Set<String>, CompletionHandler:)
inRoom
. - Added
onCustomItemsUpdated(List<String>)
andonCustomItemsDeleted(List<String>)
inRoomListener
.
- Added
For the Direct call feature, you can now hold and resume calls which allows you to accept an incoming call or switch between calls.
- Here are the details of the update:
- Added
hold(CompletionHandler)
andunhold(Boolean, CompletionHandler)
inDirectCall
. - Added
isOnHold
inDirectCall
. - Added
holdActiveCall
inDialParams
andAcceptParams
. - Added
onUserHoldStatusChanged(DirectCall, Boolean, Boolean)
inDirectCallListener
.
- Added
- Added
ongoingCalls
inSendBirdCall
to retrieve a list of ongoing Direct Calls in the Calls SDK. - API reference is updated.
- Updated Kotlin standard library version to 1.5.31.
- Improved stability.
- Added capability to query rooms.
- Added
RoomListQuery
. - Added
RoomListQuery.Params
. - Added
createRoomListQuery(Params)
inSendBirdCall
.
- Added
- Added
Range
. - Improved security.
- Improved stability.
- Fixed an issue where
DirectCall.duration
always returns zero. - Fixed an issue where
SendBirdCall.setCallConnectionTimeout()
doesn't work intermittently. - Fixed an issue where Direct calls with iOS SDK were not being made.
- Fixed intermittent crashes when making Direct calls.
- Sendbird Calls now supports making group calls in a room.
- Added
Room
.- Added
createRoom(room: RoomParam, handler: RoomHandler)
inSendBirdCall
. - Added
fetchRoomById(roomId: String)
inSendBirdCall
. - Added
getCachedRoomById(roomId: String)
inSendBirdCall
. - Added
RoomType
. - Added
RoomParams
. - Added
RoomState
. - Added
EnterParams
. - Added
RoomListener
.
- Added
- Added
Participant
,LocalParticipant
andRemoteParticipant
.- Added
ParticipantState
.
- Added
- Added
- Removed deprecated interfaces
- Removed
setPushToken(pushToken: String, unique: Boolean)
inAuthenticateParams
. - Removed
deauthenticate(pushToken: String?, handler: CompletionHandler?)
inSendBirdCall
. - Removed
isRecording
inDirectCall
.
- Removed
- Improved stability.
- As
jcenter
has been shut down, Sendbird Calls is now only available from Sendbird's maven repository:maven { url "https://repo.sendbird.com/public/maven" }
starting from version 1.6.0.
- Added
startScreenShare(mediaProjectionPermissionResultData: Intent, handler: CompletionHandler?)
inDirectCall
. - Added
stopScreenShare(handler: CompletionHandler?)
inDirectCall
. - Added
isLocalScreenShareEnabled
inDirectCall
.
Sendbird Calls SDK version 1.6.0 supports the early access program for group calling. New concepts introduced in this version center around rooms and participants.
- New methods to existing classes
- Added
createRoom()
inSendBirdCall
- Added
fetchRoomById()
inSendBirdCall
- Added
getCachedRoomById()
inSendBirdCall
- Added
- New classes
- Added
Room
- Added
EnterParams
- Added
RoomListener
- Added
RoomState
- Added
RoomHandler
- Added
- Added
Participant
- Added
LocalParticipant
- Added
RemoteParticipant
- Added
ParticipantState
- Added
- Added
- Fixed crash that happens on typealias-related code.
- Fixed minor bug.
- Added support for integration with Sendbird Chat
- Added
SendBirdChatOptions
- Added
setSendBirdChatOptions()
toDialParams
- Added
- Added support for
Call summary
on the dashboard. - Improved backend scalability
- Enhanced security for compliance
- Added
setDirectCallDialingSoundOnWhenSilentOrVibrateMode()
inSendBirdCall.Options
- Fixed crash that happened on custom items.
- Added remote recording progress event
- Added
onRemoteRecordingStatusChanged()
inDirectCallListener
- Added
getLocalRecordingStatus()
andgetRemoteRecordingStatus()
inDirectCall
- Added
enum class RecordingStatus { NONE, RECORDING }
- Deprecated
isRecording()
inDirectCall
- Added
- Improved stability
- Migrated SDK to Kotlin.
- Added
captureLocalVideoView
andcaptureRemoteVideoView
inDirectCall
. - Added media recording feature.
- Added
addRecordingListener
,removeRecordingListener
andremoveAllRecordingListener
inSendBirdCall
. - Added
startRecording
,stopRecording
andisRecording
inDirectCall
- Added
RecordingOptions
class for the recording functions.
- Added
- Added custom sound-related feature.
- Added
SoundType
enum class inSendBirdCall
. - Added
addDirectCallSound
andremoveDirectCallSound
inSendBirdCall.Options
.
- Added
- Support
Peer-to-peer
call.- The
Peer-to-peer
option can be configured on the dashboard.
- The
- Added getting ongoing call count and ongoing status of
DirectCall
.- Added
getOngoingCallCount()
inSendBirdCall
. - Added
isOngoing()
inDirectCall
.
- Added
- Added
setCallConnectionTimeout()
inSendBirdCall
.- The timer starts after callee accepts. And the timer will be fired to end the call after given timeout seconds.
- Improved stability.
- Improved camera management.
- Added
onLocalVideoSettingsChanged
event inDirectCallListener
.- It will be called when the local video is started or stopped.
- If camera is disconnected by other apps or call, a
DirectCall
stops local video. And the video could be started withstartVideo()
method.
- Added
- Improved stability.
- Improved stability.
- Added
handleWebhookCommand(String payload)
inSendBirdCall
. - Improved stability.
- Added
void setPreferredAudioSource(int audioSource)
inSendBirdCall.Options
.
- Deprecated
deauthenticate(String pushToken, CompletionHandler handler)
inSendBirdCall
. Please usedeauthenticate(CompletionHandler handler)
instead. - Added
LOGGER_WARNING
andLOGGER_INFO
inSendBirdCall
- Added
getCallLog()
andgetCurrentVideoDevice()
inDirectCall
. - Added
isFromServer()
inDirectCallLog
. - Improved stability.
- Modified to use error codes of server if it exists instead of SDK internal error.
- Added server error codes to
SendBirdError
. - Improved stability.
- Added video device selection features.
- Added
VideoDevice
class which represents a video device for video stream. - Added
selectVideoDevice(VideoDevice videoDevice, CompletionHandler handler)
inDirectCall
. - Added
List<VideoDevice> getAvailableVideoDevices()
inDirectCall
.
- Added
- Added
void setRingingTimeout(int timeout)
inSendBirdCall.Options
. - Modified to keep the
SendBirdCallListener
instances after changing app ID. - Deprecated
setPushToken(String pushToken, boolean unique)
inAuthenticateParams
. Please useregisterPushToken(String pushToken, boolean unique, CompletionHandler handler)
instead. - Optimized video call frame rate.
- Improved stability.
- Removed duplicated
Kotlin
standard library from SDK for kotlin user.
- Added
switchCamera()
inDirectCall
. - Improved stability.
- Changed endpoint domain.
- Improved stability.
- Improved stability.
- Added video call feature.
- Added
SendBirdVideoView
class. - Added
isLocalVideoEnabled()
andisRemoteVideoEnabled()
inDirectCall
. - Added
startVideo()
andstopVideo()
inDirectCall
. - Added
setLocalVideoView(SendBirdVideoView videoView)
andsetRemoteVideoView(SendBirdVideoView videoView)
inDirectCall
. - Added
setLocalVideoView(SendBirdVideoView videoView)
,setRemoteVideoView(SendBirdVideoView videoView)
andsetVideoEnabled(boolean videoEnabled)
inCallOptions
. - Added
onRemoteVideoSettingsChanged(DirectCall call)
method inDirectCallListener
. - Modified
SPEAKER_PHONE
toSPEAKERPHONE
inAudioDevice
.
- Added
- Improved stability.
- Added custom items feature.
- Added
class AcceptParams
,class DialParams
,interface CustomItemsHandler
. - Deprecated
dial(String calleeId, boolean isVideoCall, CallOptions callOptions, DialHandler handler)
and addeddial(DialParams params, DialHandler handler)
inSendBirdCall
. - Deprecated
accept(CallOptions callOptions)
and addedaccept(AcceptParams params)
inDirectCall
. - Added
updateCustomItems(String callId, Map<String, String> customItems, CustomItemsHandler handler)
,deleteCustomItems(String callId, Set<String> customItemKeys, CustomItemsHandler handler)
anddeleteAllCustomItems(String callId, CustomItemsHandler handler)
inSendBirdCall
. - Added
getCustomItems()
,updateCustomItems(Map<String, String> customItems, CustomItemsHandler handler)
,deleteCustomItems(Set<String> customItemKeys, CustomItemsHandler handler)
anddeleteAllCustomItems(CustomItemsHandler handler)
inDirectCall
. - Added
onCustomItemsUpdated(DirectCall call, List<String> updatedKeys)
,onCustomItemsDeleted(DirectCall call, List<String> deletedKeys)
inDirectCallListener
.
- Added
- Added
DirectCall
reconnection events.- Added
onReconnecting(DirectCall call)
,onReconnected(DirectCall call)
inDirectCallListener
.
- Added
- Added audio device selection feature.
- Added
enum AudioDevice
. - Added
getCurrentAudioDevice()
,getAvailableAudioDevices()
andselectAudioDevice(AudioDevice audioDevice)
inDirectCall
. - Added
onAudioDeviceChanged(DirectCall call, AudioDevice currentAudioDevice, Set<AudioDevice> availableAudioDevices)
inDirectCallListener
.
- Added
- Improved stability.
- Improved stability.
- Removed unnecessary Android permissions.
- Early Access release.