This page contains an overview of all relevant changes made to the Amity Social Cloud platform modules and its latest version releases
Eko Messaging SDK 4.8.0 is released.
Add push notification functionality to EkoCommunityRepository
Refer to Push notifications documentation.
None
Set turn on and off push notification as user level by .setAllowed(allowed: Boolean)
Get push notification setting values as user level by .isAllowed(): Single<Boolean>
None
None
OKHTTP - 3.10.0
Retrofit - 2.4.0
Kotlin-std-lib - 1.3.72
Eko Messaging SDK 4.7.2 is released.
New APIs
Add a function to observe broadcasting status in EkoStreamBroadcaster
. For further information please see here.
Breaking APIs
None
Deprecations
None
Fixes
None
Behavioural changes
None
Compatibility
OKHTTP - 3.10.0
Retrofit - 2.4.0
Kotlin-std-lib - 1.3.72
Eko Messaging SDK 4.7.1 is released.
None
None
None
Optimize PagedList configuration
Fix incorrect pagination of categories
None
OKHTTP - 3.10.0
Retrofit - 2.4.0
Kotlin-std-lib - 1.3.72
Eko Messaging SDK 4.7.0 is released.
Introduce eko-video-publisher
for video broadcasting. Refer to Video documentation.
Add manual paging functionality to EkoCommentQuery
Refer to Comment documentation.
None
None
None
None
OKHTTP - 3.10.0
Retrofit - 2.4.0
Kotlin-std-lib - 1.3.72
Eko Messaging SDK 4.6.0 is released.
Add new option .roles(roles: List<String>)
inEkoChannelMembershipQuery.Builder
. Refer to Channel
documentation.
Add new option .sortBy(option: EkoCommentSortOption)
in EkoCommentQuery.Builder
. Refer to Comment
documentation.
Add new API getLatestComment()
in EkoCommentRepository
. Refer to Comment
documentation.
Add custom dataType
support for EkoPost
. Refer to Feed
documentation.
Change query option setIsLive(isLive: Boolean)
to setStatus(statuses: Array)
in EkoStreamQuery.Builder
. The user is now able to query live-stream videos based on its statues.
Query memberships by role. .role(role: String)
ImprovegetMyReactions()
performance on EkoMessage
, EkoPost
, EkoComment
None
OKHTTP - 3.10.0
Retrofit - 2.4.0
Kotlin-std-lib - 1.3.72
Eko Messaging SDK 4.5.1 is released.
None
None
None
Active user missing from community list when community has more than 10 members
None
OKHTTP - 3.10.0
Retrofit - 2.4.0
Kotlin-std-lib - 1.3.72
Eko Messaging SDK 4.5.0 is released.
Add query option setIsLive(boolean)
in EkoStreamQuery.Builder
. The user is now able to query currently live or ended live-stream videos.
Add new method getRecordings()
in EkoStream
model . The user is now able to get recorded videos.
None
None
None
None
OKHTTP - 3.10.0
Retrofit - 2.4.0
Kotlin-std-lib - 1.3.72
Eko Messaging SDK 4.4.2 is released.
Comment in FAILED
state can be hard deleted by deleteComment(commentId)
API
Post deletion by deletePost(postId)
API results in hard deletion of the post from Global feed ranking
Add automatic file name encoding for EkoFileRepository
upload API
Fixed incorrect behaviour of private community query.
Eko Messaging SDK 4.4.1 is released.
Comment isDeleted
property to be updated after initial query.
Eko Messaging SDK 4.4.0 is released.
Add role
and permission
feature. Refer to Channel
and Community
documentation.
Add getCommunityMembership(userId)
API to EkoCommunityParticipation
Refer to Community
documentation.
Add addRole/RemoveRole(role, userIds)
API to EkoCommunityModeration
Refer to Community
documentation.
Add hasPermission(ekoPermission)
API to EkoClient
Refer to Permission
documentation.
Add AUDIO
message type.
Add getUploadInfo(uploadId)
API to EkoFileRepository
Due to revised role
and permission
feature, user'sglobal role
can only be set from admin panel/ admin API, hence the removal of setRoles()
from EkoClient
. User would still be able to add / remove role at Channel
and Community
level should they have necessary permissions.
Aligning file related message data return type with Feed
feature,
Replacing getUrl() : String
with getImage() : EkoImage
inEkoMessage.Data.IMAGE
Replacing getUrl() : String
with getFile() : EkoFile
inEkoMessage.Data.FILE
Eko Messaging SDK 4.2.0 is released.
Add Community
feature. Refer to Community
documentation.
Add Feed
feature. Refer to Feed
documentation.
Add Live Stream
feature. Refer to Live Stream
documentation.
Introduce new Channel types; Community
and Live
. Refer to Channels
documentation.
Introduce new EkoClient.registerDevice(userId)
API where displayname
is optional. Refer to Setup
documentation.
Deprecating Channel type Standard
and Private
Deprecating EkoClient.registerDevice(userId, displayname)
API
Eko Messaging SDK 3.3.0
is released.
Add SDK environment configuration feature. Please see Setup documentation.
Eko Messaging SDK 4.0.0 is released.
Add Comment
on content
feature
Revise all existing APIs . See each feature documentation for more info.
Eko Messaging SDK 3.2.6
is released.
Change return type of getMessage(String messageId)
API from EkoLiveData
to Flowable
Missing user data from getMessage(String messageId)
API
Eko Messaging SDK 3.2.3
is released.
Return EkoChannel
with createConversation()
Eko Messaging SDK 3.2.2
is released.
Add metadata
createChannel(String channelId, EkoChannel.CreationType type, EkoChannel.CreateOption option)
API
Add metadata createConversation(String userId, JsonObject metadata)
API
Prevent crash on EkoPagedListAdapter
Eko Messaging SDK 2.8.1
is released.
Prevent crash on EkoPagedListAdapter
Eko Messaging SDK 3.2.1
is released.
Add getAllUsers(EkoUserSortOption option)
API
Add searchUserByDisplayName(String displayname, EkoUserSortOption option)
API
Optimized socket rescheduling request queue.
Improved diffUtil logic of EkoChannelAdapter
and EkoChannelMembershipAdapter
.
Eko Messaging SDK 3.1.1
is released.
Add getMessage(String messageId)
API
Eko Messaging SDK 2.8.0
is released.
Add getMessage(String messageId)
API
Eko Messaging SDK 3.0.0
is released.
New channel types (Private, Broadcast, Conversation); Support creation and query of new channel types.
Creating a channel requires a EkoChannel.CreationType
as a parameter.
Channel query has been converted to builder pattern to support query of new channel types.
EkoChannelRepository.getOrCreatedById()
is deprecated.
EkoChannelRepository.getChannelCollection()
returning LiveData> is deprecated.
Eko Messaging SDK 2.7.1
is released.
Fixed message query failed for the channel creator that has null
displayname.
Eko Messaging SDK 2.7.0
is released.
Added Optimistic logic for add / remove reactions. Reaction count reflects instantly upon API call and automatically reverts in case of error.
Update DiffUtil
logic in EkoMessageAdapter
.
Eko Messaging SDK 2.6.2
is released.
Fixed myReaction
is inaccurate when the same user is on multi devices.
Applied a workaround for https://issuetracker.google.com/issues/135628748 (IndexOutOfBoundException
in AsyncPagedListDiffer
) to EkoChannelAdapter
, EkoMessageAdapter
, EkoMessageReactionAdapter
, and EkoChannelMembershipAdapter
.
Eko Messaging SDK 2.6.0
is released.
Add support of metadata for EkoUser
Eko Messaging SDK 2.5.1
is released.
Fixed myReaction
value stops EkoMessage
observation.
Eko Messaging SDK 2.5.0
is released.
Add Message reaction feature:
A reaction can be added or removed from a message with EkoMessageReactor
.
A reaction collection of a message can be queried with EkoMessageRepository
.
Add Reaction related data to EkoMessage
.
Eko Messaging SDK 2.3.0
is released.
A message can only be deleted by an editor corresponding to its type.
Add editor for each message type
EkoTextMessageEditor
can edit and delete a message of type text
.
EkoImageMessageEditor
can delete a message of type image
.
EkoFileMessageEditor
can delete a message of type file
.
EkoCustomMessageEditor
can edit and delete a message of type custom
.
Eko Messaging SDK 2.1.1
is released.
All message types are now based on Builder pattern.
The method build()
is now required to be called before the method send()
.
When creating an Image message with EkoMessageCreator
, a valid file Uri is required to be passed as a parameter.
Add File message type: a message of this type can be created with a file Uri. The file is automatically uploaded to the server and can be retrieved with a url that is accessible in FileData
model.
Add Custom message type: a message of this type can be created with a JsonObject
. This object is included in the data
property of the message. Developers can parse their customed data by creating a model that reflects the structure of the customed JsonObject
.
Eko Messaging SDK 2.0.0
is released.
Migrate to AndroidX
EkoMessageRepository
replaces the function getMessageCollection(channelId)
with getMessageCollection(channelId, stackFromEnd)
, along with many other new options such as getMessageCollection(channelId, includingTags, stackFromEnd)
, getMessageCollection(channelId, includingTags, excludingTags, stackFromEnd)
.
Message tagging support:
Messages can now be sent along with customized tags.
Messages can now be filtered by tags (both including and excluding).
Tags can also be set on any message.
Every message has a new tags
property.
Message sorting support:
Messages can now be fetched from the oldest first, or the newest first.
Message parenting support:
Messages can now be connected on creation by passing a new optional parentId
value.
Note how a message child can also become a parent itself, without any limit.
The parentId
must be passed on the child message creation and cannot be changed afterwards.
Every message has a new optional parentId
and childrenNumber
property.
Eko Messaging SDK 1.12.0
is released.
Moving repository from Bintray to Jitpack, Getting Started.
EkoClient.registerDeviceForPushNotification()
method is now parameterless, Client Registration.
Push notification services in China.
Eko Messaging SDK 1.10.1
is released.
Fixed EkoMessage
collection doesn't contain messages sent while you were offline.
Fixed EkoClient.getUserId()
and EkoClient.getDisplayName()
return data of in-active account.
Eko Messaging SDK 1.10.0
is released.
Add Push Notification toggles: users can now choose to mute selected channels or stop receiving notifications completely from any device. The new settings, documentented in the Notifications section, are per user, not per single device.
Eko Messaging SDK 1.9.0
is released.
Add Push Notification feature: developers can call register and unregister for push notification directly from the EkoClient
Read more about the feature in the new Notifications section.
Eko Messaging SDK 1.8.0
is released.
Add new EkoError.USER_IS_GLOBAL_BANNED
when a user is banned globally is automatically unregistered and the EkoChat sdk will be on a clean state.
Eko Messaging SDK 1.7.0
is released.
EkoChannelRepository.getChannelCollectionByTags(filter, includingTags)
returns List of channels with ANY provided tags.
EkoChannelRepository.getChannelCollectionByTags(filter, includingTags, excludingTags)
returns List of channels with ANY provided tags AND without ANY provided tags.
Added two new channel types EkoChannel.Type.BROADCAST
and EkoChannel.Type.CONVERSATION
(channels with conversation type won't be seen in Admin Panel because of privacy concerns)
Eko Messaging SDK 1.6.0
is released.
EkoChannelMembershipRepository.getChannelMembershipCollection(channelId)
returns List of memberships of the channel.
Eko Messaging SDK 1.5.0
is released.
EkoMessage.isFlaggedByMe()
and EkoUser.isFlaggedByMe()
tell whether you've already flagged this EkoMessage
and EkoUser
or not.
Eko Messaging SDK 1.4.0
is released.
You can now be able to flag/unflag a message EkoMessageRepository.report(messageId).flag()
or EkoMessage.report().flag()
and EkoMessageRepository.report(messageId).unflag()
or EkoMessage.report().unflag()
You can now be able to flag/unflag a user EkoUserRepository.report(userId).flag()
or EkoUser.report().flag()
and EkoUserRepository.report(messageId).unflag()
or EkoUser.report().unflag()
Eko Messaging SDK 1.3.0
is released.
EkoMessage.getEditedAt()
returns DateTime instead of string.
EkoChannel.membership().startReading()
will not return anything.
EkoChannel.membership().stopReading()
will not return anything.
EkoLiveData
will no longer return a proxy object.
if you are in a live reading mode and lost internet connection, The SDK will automatically re-enables the live reading mode after re-gaining internet connection.
EkoChannel.getLastActivity()
returns updated DateTime after receiving all message events.
EkoChannel.getUnreadCount()
returns zero after joining a channel.
3 new error codes which are INVALID_REGULAR_EXPRESSION(400001)
, TOO_MANY_MEMBER_ERROR(400310)
and RPC_RATE_LIMIT_ERROR(400311)
Fixed EkoChannel
collection with the filter EkoChannelFilter.NOT_MEMBER
not contains channel you are banned from.
Eko Messaging SDK 1.1.2
is released.
Fixed EkoChannel
collection with the filter EkoChannelFilter.NOT_MEMBER
contains channel you joined.
Fixed EkoChannel
data not update in real-time.
Eko Messaging SDK 1.1.0
is released.
The parameterless EkoChannelRepository.getChannelCollection()
method now required a single parameter of EkoChannelFilter
.
Delete message
Unread message count
You can create a EkoChannel
collection that contains
EkoChannelFilter.MEMBER
: channels that you have joined.
EkoChannelFilter.NOT_MEMBER
: channels in the system which you haven't joined.
EkoChannelFilter.ALL
: all channels.
Live Reading: Eko Messaging SDK now supports live reading mode. When you are in live reading mode, all new message are marked as read automatically.
EkoChannel.membership().startReading()
: enables live reading mode. Should be called in onResume()
method.
EkoChannel.membership().stopReading()
: disables live reading mode. Should be called in onPause()
method.
EkoMessageRepository.getCount()
is deprecated.
EkoMessageRepository.getCount(channelId)
is deprecated.
Eko Messaging SDK 1.0.2
is released with improved network bandwidth efficiency.
Fixed EkoMessage.getUser()
returns null
instead of EkoUser
the sender of the message.
Eko Messaging SDK 1.0.1
is released with internal changes.
Eko Messaging SDK 1.0.0
is released.