Releases: sendbird/sendbird-chat-sdk-android
v4.17.0-ktx
Improvements
-
Replaced all ktx interfaces with either an
await
prefix or aFlow
postfix and deprecated the existing interfaces.- This is to prevent issue with auto-import within the IDE where the interface cannot be imported automatically due to the previous interfaces having the same name as the original Chat SDK interfaces.
/** * All `suspend fun` now has an `await` prefix. */ // Previous suspend fun SendbirdChat.connect(userId: String, authToken: String? = null, apiHost: String? = null, wsHost: String? = null): AuthUser // New suspend fun SendbirdChat.awaitConnect(userId: String, authToken: String? = null, apiHost: String? = null, wsHost: String? = null): AuthUser /** * All methods returning a `Flow` now has a `Flow` postfix. */ // Previous fun SendbirdChat.init(initParams: InitParams): Flow<InitResult> // New fun SendbirdChat.initFlow(initParams: InitParams): Flow<InitResult>
-
Added interface for
SendbirdPushHelper
class -
Added
SendbirdChat.awaitAuthenticate()
as a replacement forSendbirdChat.authenticateFeed()
-
Added
SendbirdChat.awaitGetTotalUnreadNotificationCount()
v4.17.0
Features
- Added
SendbirdChat.authenticate()
for authentication- Deprecated
SendbirdChat.authenticateFeed()
- Deprecated
- Added
SendbirdChat.getTotalUnreadNotificationCount()
to get the total unread notification count of a user
Improvements
- Added
SendbirdPushHelper.registerHandler()
- Deprecated
SendbirdPushHelper.registerPushHandler()
- Deprecated
- Added
SendbirdPushHelper.unregisterHandler(Boolean, PushRequestCompleteHandler?)
- Deprecated
SendbirdPushHelper.unregisterPushHandler(PushRequestCompleteHandler?)
- Deprecated
SendbirdPushHelper.unregisterPushHandler(Boolean, PushRequestCompleteHandler?)
- Deprecated
- Added
collectionLifecycle
inGroupChannelCollection
,MessageCollection
andNotificationCollection
v4.16.4
Improvements
- Added new properties
hasAiBot
andhasBot
toGroupChannel
v4.16.3
Improvements
- Fixed an occasional
ConcurrentModificationException
crash fromreconnect()
v4.16.2
Improvements
- Improved
SendbirdChat.init()
to prevent possible ANR during the init process
v4.16.1-ktx
Improvements
- Added
suspend fun
for Chat SDK'sQuery
classes
v4.16.1
Improvements
- Improved stability.
v4.16.0-ktx
Features
Added MessageTemplate
feature for UIKit to render messages with templates.
- Added suspend function
SendbirdChat.getMessageTemplate(String): MessageTemplate
andSendbirdChat.getMessageTemplatesByToken(String?, MessageTemplateListParams): MessageTemplatesResult
- Added result handler function for message templates
SendbirdChat.getMessageTemplate(String, ResultHandler<MessageTemplate>?)
andfun SendbirdChat.getMessageTemplatesByToken(String?, MessageTemplateListParams, ResultHandler<MessageTemplatesResult>?)
.
v4.16.0
Features
You can mark push notifications as clicked within the SDK, tracking the push notification clicked rate.
-
Added
markPushNotificationAsClicked(Map<String, String>, CompletionHandler)
inSendbirdPushHelper
SendbirdPushHelper.markPushNotificationAsClicked(pushData)
-
Added
logViewed(List<BaseMessage>)
,logClicked(BaseMessage)
inFeedChannel
-
Deprecated
logImpression(List<BaseMessage>)
inFeedChannel
Added MessageTemplate
feature for UIKit to render messages with templates.
- Added
messageTemplateInfo
property toAppInfo
. - Added
SendbirdChat.getMessageTemplate(String, MessageTemplateHandler?)
. - Added
SendbirdChat.getMessageTemplatesByToken(String, MessageTemplateParams(), MessageTemplatesResultHandler?)
. - Added
MessageTemplateHandler
andMessageTemplatesResultHandler
. - Added models for message templates,
MessageTemplate
,MessageTemplateInfo
,MessageTemplatesResult
andMessageTemplateListParams
.
v4.15.7
Improvements
- Added
EventDetail
inGroupChannelContext
/FeedChannelContext
to hold detailed information of channel events- i.e. Getting an inviter/invitees information when a channel has been added from receiving an invitation:
override fun onChannelsAdded(context: GroupChannelContext, channels: List<GroupChannel>) { if (context.eventDetail is EventDetail.OnUserReceivedInvitation) { val inviter: User? = context.eventDetail.inviter val invitees: List<User> = context.eventDetail.invitees } }
- i.e. Getting an inviter/invitees information when a channel has been added from receiving an invitation: