Releases: sendbird/sendbird-chat-sdk-ios
Releases · sendbird/sendbird-chat-sdk-ios
v4.1.0
Features
Polls
Polls is released 🎉 Here’s where we think it will be really powerful.
- Collect feedback and customer satisfaction
- Drive engagement by receiving participants in preferences
- Run surveys and quiz shows
- And many more!
Scheduled messages
Scheduled messages is released Here’s where we think it will be really useful.
- Let your users queue their messages for the future
- Set helpful reminders and notifications to nudge certain actions
- And many more!
Improvements
Please note that both Polls and Scheduled Messages are released as beta features. Thus specific parameters and properties may change to improve client’s overall experience.
Stay tuned for updates as we are rolling out more exciting features and see below for exact specifications
Specification
Polls
- Create
Poll.create(params: PollCreateParams, completionHandler: @escaping PollHandler)
UserMessageCreateParams.pollId
- Read
Poll.get(params: PollRetrievalParams, completionHandler: @escaping PollHandler)
SendbirdChat.createPollListQuery(params: PollListQueryParams)
SendbirdChat.createPollListQuery(paramsBuilder: (PollListQueryParams) -> Void)
GroupChannel.createPollListQuery(limit: UInt)
UserMessage.poll
- Update
GroupChannel.updatePoll(pollId: Int64, params: PollUpdateParams, completionHandler: PollHandler?)
GroupChannel.closePoll(pollId: Int64, completionHandler: PollHandler?)
- Delete
GroupChannel.deletePoll(pollId: Int64, completionHandler: SBErrorHandler?)
- Others:
Poll
GroupChannel.getPollChangeLogs(token: String?, completionHandler: PollChangeLogsHandler?)()
GroupChannel.getPollChangeLogs(timestamp: Int64, completionHandler: PollChangeLogsHandler?)()
PollData
GroupChannelDelegate.channel(_ channel: GroupChannel, didUpdatePoll event: PollUpdateEvent)
GroupChannelDelegate.channel(_ channel: GroupChannel, didVotePoll event: PollVoteEvent)
GroupChannelDelegate.channel(_ channel: GroupChannel, pollWasDeleted pollId: Int64)
Options
- Create
PollCreateParams.optionTexts
GroupChannel.addPollOption(pollId: Int64, optionText: String, completionHandler: PollHandler?)
- Read
PollOption.getPollOption(params: PollOptionRetrievalParams, completionHandler: @escaping PollOptionHandler)
SendbirdChat.createPollVoterListQuery(params: PollVoterListQueryParams)
SendbirdChat.createPollVoterListQuery(paramsBuilder: (PollVoterListQueryParams) -> Void)
GroupChannel.createPollVoterListQuery(pollId: Int64, pollOptionId: Int64, limit: UInt)
- Update
GroupChannel.updatePollOption(pollId: Int64, pollOptionId: Int64, optionText: String, completionHandler: PollHandler?)
GroupChannel.votePoll(pollId: Int64, pollOptionIds: [Int64], completionHandler: PollVoteEventHandler)
- Delete
GroupChannel.deletePollOption(pollId: Int64, pollOptionId: Int64, completionHandler: SBErrorHandler?)
- Others:
PollOption
PollStatus
PollVoteEvent
PollUpdateEvent
CollectionEventSource.eventPollUpdated
CollectionEventSource.eventPollVoted
CollectionEventSource.eventPollChangeLog
Scheduled Messages
- Create
GroupChannel.createScheduledUserMessage()
GroupChannel.createScheduledFileMessage()
- Read
ScheduledMessageListQuery
BaseMessage.getScheduledMessage()
ScheduledMessageRetrievalParams
- Update
GroupChannel.updateScheduledUserMessage()
GroupChannel.updateScheduledFileMessage()
- Delete
GroupChannel.cancelScheduledMessage()
- Others
ScheduledInfo
MessageSendingStatus.scheduled
BaseMessage.scheduledInfo
SendbirdChat.getTotalScheduledMessageCount()
TotalScheduledMessageCountParams
v4.0.15
- Added public
make(_ json:)
interface - Added synchronous initialize for SendbirdChat
- Removed unused keys from body of MarkAsDelivered request
v4.0.14
4.0.14 (Sep 28, 2022)
- Added nicknameStartsWithFilter, nicknameExactMatchFilter feature in GroupChannelListQuery and its params
- Implemented history of channel membership where clients can now track whether users have joined or left the channel (
MemberState.left
for left members of aGroupChannel
) - Resolved priority inversion warning
- Fixed a crash when a large file is sent in the FILE message
v4.0.13
- Fixed crash issue when using
SendbirdChat.add(_:identifier)
v4.0.12
- Added metaData related logic for filtering in GroupChannelListQuery.belongsTo
- Renamed methods in
SendbirdChat
add(_ delegate: ConnectionDelegate, identifier: String)
->addConnectionDelegate(_ delegate: ConnectionDelegate, identifier: String)
add(_ delegate: BaseChannelDelegate, identifier: String)
->addChannelDelegate(_ delegate: BaseChannelDelegate, identifier: String)
add(_ delegate: UserEventDelegate, identifier: String)
->addUserEventDelegate(_ delegate: UserEventDelegate, identifier: String)
v4.0.11
- Fixed a bug where a dirty flag of a group channel is handled improperly
v4.0.10
- Added MessageSearchQuery's totalCount and made it public
- Fixed memory problem when continuously sending large files
- Changed the keywords of the classes and functions below from public to open (subclassing)
User, BaseChannel, GroupChannel, OpenChannel, BaseCollection, GroupChannelCollection, BaseMessage, UserMessage, FileMessage, AdminMessage
Note: However, subclassing is not recommended, and please be aware that any issue that arises from subclassing will take substantially longer time to react
v4.0.9
4.0.9 (Aug 17, 2022)
- Added shouldRemoveOperatorStatus function
- Updated copyMessage function to only duplicate successfully sent message. Copying any non-successful message will now return an invalidParameter error
- Fixed concurrency issues
- Fixed WS connection being lost after switching from wifi to LTE
- Fixed OpenChannel not updating channel’s changed information
- Fixed a copied fileMessage’s image not being shown
v4.0.8
- Fixed auto-resend issue in offline write
v4.0.7
- Fixed a bug that serializing pending messages causes a crash on iOS 12 or lower