GetSocial Android SDK Changelog¶
v7.12.4 - 1 Feb, 2023¶
- Added support for posting nested comments
- Added new
includeComments
property ofActivitiesQuery
to also include up to 3 most recent comments per activity
v7.12.3 - 19 Jan, 2023¶
- Overall improvements.
v7.12.2 - 4 Oct, 2022¶
- New: Search for Topic/Group/Label/Hashtag/User followers and group members by name
- New: Rejected status for Group Members
v7.12.1 - 15 Jul, 2022¶
- Overall improvements.
v7.12.0 - 12 Jul, 2022¶
- New: Support for blocked users
v7.11.0 - 17 Jun, 2022¶
- New: support for verified users
- Overall improvements.
v7.10.0 - 31 Mar, 2022¶
- New: Global search (beta) for activities, labels, hashtags, users, groups and topics
- Overall improvements.
v7.9.1 - 10 Feb, 2022¶
- Overall improvements.
v7.9.0 - 4 Feb, 2022¶
- New: bookmark activities and get all the bookmarked activities from the user.
- New: get reacted or voted activities from the user.
- New: filter activities by mentions of a user or the app.
- Fixed: error when trying to open Native Share option on Android 12.
- Fixed: Push Notifications listeners not working correctly on Android 12.
v7.8.1 - 25 Jan, 2022¶
- Fixed: Push Notifications were not opening the app on Android 12.
v7.8.0 - 11 Jan, 2022¶
- New: follow labels and tags to see related content in the user’s timeline.
- New: improved find for labels and hashtags.
- Fixed: isBanned() is now correctly updated if the ban expiration happens while the user is using the app.
v7.7.1 - 27 Dec, 2021¶
- Fixed: added missing
PendingIntent.FLAG_IMMUTABLE
flag to which caused crash on Android 12.
v7.7.0 - 15 Dec, 2021¶
- New: find activities by content, labels and properties
- New: get suggested users based on user connections and trending users
v7.6.8 - 4 Nov, 2021¶
- New: find topics and groups by labels and properties.
v7.6.7 - 3 Nov, 2021¶
- Added missing
export
properties to AndroidManifest.xml.
v7.6.6 - 1 Nov, 2021¶
- Overall improvements.
v7.6.5 - 14 Oct, 2021¶
- Overall improvements.
v7.6.4 - 6 Oct, 2021¶
- Fixed: issue when trying to join a group when user is already member.
v7.6.3 - 28 Sep, 2021¶
- Fixed: issue when calling
initWithIdentity
method while SDK is already initialized.
v7.6.2 - 23 Sep, 2021¶
- Fixed: issue with notification click listener invocation.
v7.6.1 - 17 Sep, 2021¶
- New: added support for trusted identities. read more.
v7.6.0 - 15 Sep, 2021¶
- New: added possibility to filter for trending activities, topics and groups.
v7.5.5 - 8 Sep, 2021¶
- Fixed issue with
Communities.areGroupMembers
method. - Fixed issue with ActivityDetailsView builder, which caused empty feed view.
v7.5.4 - 22 Jul, 2021¶
- Fixed issue with disabled vibration for Push Notification on some Huawei devices.
v7.5.3 - 15 Jul, 2021¶
- New: Configurable Push Notification’s priority: read more
v7.5.2 - 7 Jul, 2021¶
- Fixed issue with poll status in AnnouncementsQuery.
v7.5.1 - 6 Jul, 2021¶
- Fixed issue with poll status in ActivitiesQuery.
v7.5.0 - 5 Jul, 2021¶
- Polls feature: read more.
v7.4.13 - 22 Jun, 2021¶
- Overall improvements.
v7.4.12 - 26 May, 2021¶
Fixed:
- Permission issues with ActivityDetailsViewBuilder.
v7.4.11 - 29 Apr, 2021¶
Fixed:
- Background thread issue when sending an invite fails.
v7.4.10 - 26 Apr, 2021¶
Fixed:
- Issue on feeds UI.
v7.4.9 - 21 Apr, 2021¶
New:
- Support adding multiple reactions to an activity.
v7.4.8 - 12 Apr, 2021¶
Fixed:
- Add method to query Announcements inside a Group.
v7.4.7 - 31 Mar, 2021¶
Fixed:
- Overall improvements.
v7.4.6 - 3 Mar, 2021¶
Fixed:
- Issue with missing sender information in last chat message object.
v7.4.5 - 24 Feb, 2021¶
New:
- New method to refresh current user properties.
v7.4.4 - 10 Feb, 2021¶
New:
- New methods to increment/decrement public and private user properties.
v7.4.3 - 29 Jan, 2021¶
Fixed:
- Overall improvements.
v7.4.2 - 28 Jan, 2021¶
Fixed:
- Overall improvements.
v7.4.1 - 19 Jan, 2021¶
Fixed:
- Added missing
id
toChatMessage
class.
v7.4.0 - 13 Jan, 2021¶
New:
- Chat feature: read more.
v7.3.8 - 29 Dec, 2020¶
Fixed:
- Issue when phone number used as identity access token.
v7.3.7 - 10 Dec, 2020¶
Fixed:
- Issue with Firebase Perfomance plugin.
v7.3.5 - 9 Dec, 2020¶
Fixed:
- Issue with invoking referral data listener on background thread.
v7.3.4 - 9 Dec, 2020¶
Fixed:
- Issue with Firebase Performance plugin.
v7.3.3 - 2 Dec, 2020¶
Fixed:
- Issue with topics permissions.
v7.3.2 - 30 Nov, 2020¶
Fixed:
- Overall improvements.
v7.3.1 - 19 Nov, 2020¶
Fixed:
- Issue with Link Parameters when creating invite content.
v7.3.0 - 16 Nov, 2020¶
New:
- Groups feature: read more.
v7.2.8 - 3 Nov, 2020¶
Fixed:
- Issue when fetching a single user by UserId.
v7.2.7 - Oct 5, 2020¶
New:
- Added new method to provide custom error messages on UI.
- New error codes for rate limiting errors when posting activities.
v7.2.6 - 24 Sep, 2020¶
Fixed:
- Text color issue in multiline notification when phone uses Dark mode.
v7.2.5 - 21 Sep, 2020¶
Fixed:
- Overall improvements.
v7.2.4 - 15 Sep, 2020¶
Fixed:
- Issue when sending custom invite content on Unity.
v7.2.3 - 14 Sep, 2020¶
Fixed:
- Overall improvements.
v7.2.2 - 19 Aug, 2020¶
Fixed:
- Issue when
onInitializeListener
not invoked if SDK is already initialized.
v7.2.1 - 13 Aug, 2020¶
Fixed:
- Minor issue with UserId object.
v7.2.0 - 10 Aug, 2020¶
New:
- Added new method to initialize the SDK with an existing identity.
v7.1.1 - 24 Jul, 2020¶
Fixed:
- Overall improvements.
v7.1.0 - 13 Jul, 2020¶
New:
- Overall API improvements.
Changed:
UserId.userWithId
isUserId.create
.UserId.userWithIdentityId
isUserId.createWithProvider
.UserIdList.usersWithIds
isUserIdList.create
.UserIdList.usersWithIdentityIds
isUserIdList.createWithProvider
.
v7.0.1 Beta 2 - 18 Jun, 2020¶
New:
- Added new methods to filter activities by tag or by user.
v7.0.1 Beta 1 - 21 Apr, 2020¶
Fixed:
- Rare issues with UI framework.
Upgrading:
- Update gradle plugin version to
1.0.4
. Identity.createCustomIdentity()
is nowIdentity.custom()
Identity.createFacebookIdentity()
is nowIdentity.facebook(withAccessToken:)
v7.0.0 - 21 Apr, 2020¶
GetSocial SDK version 7 is a major update that brings a lot of improvements, new features and breaking changes. Follow the guide below to learn about what changed and how to upgrade to SDK v7.
Upgrading¶
- In your project open
build.gradle
. - Find a line similar to
classpath "im.getsocial:plugin:+"
and change toclasspath "im.getsocial:plugin-v7:[1,2)"
. - If you have an explicitly specified version in gradle plugin, update it to
7.0.0
or just remove it use the latest one. -
Add Java 8 compatibility:
android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
-
Sync the Android Studio project.
Configuration¶
Most of the GetSocial settings are moved to a single getsocial.json
file which could be used across all platforms. You can read more about single configuration file.
Open getsocial.json
, which should lay in the same directory as your build.gradle
and generated automatically by our script. .
in the key name means it is inner json object, e.g. pushNotifications.autoRegister
in json file should be translated to:
// getsocial.json
{
...
"pushNotifications": {
...
"autoRegister": true
}
}
Gradle Plugin¶
useUiLibrary
, version
and appId
are left in getsocial { }
configuration closure in build.gradle
.
Gradle Plugin Key | getsocial.json key |
---|---|
autoInit | autoInit |
uiConfig | uiConfig |
useUiLibrary | uiLibrary |
autoRegisterForPush | pushNotifications.autoRegister |
foregroundNotifications | pushNotifications.foreground |
disableFacebookReferralCheck | disableFacebookReferralCheck |
disableAutoSetup | Removed |
disableDeepLinking | Removed |
Manual Integration¶
All pushNotifications.android.*
values should not contain @drawable/
, @color/
, @string/
or any other prefix, it should be just a name of file without extension. For example, if you had im.getsocial.sdk.LargeNotificationIcon
in AndroidManifest.xml
with value @drawable/large_notification_icon
, it should become pushNotifications.android.largeIcon
with value large_notification_icon
.
AndroidManifest.xml Key | getsocial.json key |
---|---|
im.getsocial.sdk.AppId | appId |
im.getsocial.sdk.AutoInitSdk | autoInit |
im.getsocial.sdk.UiConfigurationFile | uiConfig |
im.getsocial.sdk.AutoRegisterForPush | pushNotifications.autoRegister |
im.getsocial.sdk.ShowNotificationInForeground | pushNotifications.foreground |
im.getsocial.sdk.DisableFacebookReferralCheck | pushNotifications.disableFacebookReferralCheck |
im.getsocial.sdk.DebugMode | debugMode |
im.getsocial.sdk.LargeNotificationIcon | pushNotifications.android.largeIcon |
im.getsocial.sdk.NotificationIcon | pushNotifications.android.icon |
im.getsocial.sdk.NotificationColor | pushNotifications.android.color |
im.getsocial.sdk.NotificationsChannelName | pushNotifications.android.channelName |
im.getsocial.sdk.NotificationsChannelDescription | pushNotifications.android.channelDescription |
im.getsocial.sdk.NotificationBackgroundImage | pushNotifications.android.backgroundImage |
im.getsocial.sdk.NotificationTitleColor | pushNotifications.android.titleColor |
im.getsocial.sdk.NotificationMessageColor | pushNotifications.android.messageColor |
im.getsocial.sdk.ShouldWaitForPushNotificationListener | pushNotifications.customListener |
Methods¶
All methods that had a CompletionCallback
, Callback
or other callback mechanism now have two different parameters for callbacks: CompletionCallback
and Callback
are called if operation succeeds and FailureCallback
is called in case of error.
All methods that supported operations by GetSocial User ID now support both GetSocial ID
and Identity ID
. This is encapsulated in UserId
and UserIdList
classes for a single and multiple users respectively. Read more about this.
All methods that support pagination are now unified and use the same approach with classes PagingQuery
and PagingResult
. Read more about this.
Initialization¶
whenInitialized
is changed to addOnInitializeListener
and can be called multiple times.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.whenInitialized | GetSocial.addOnInitializeListener |
User Management¶
Current User¶
All methods related to the current user were in GetSocial.User
class. Now you can get an object of CurrentUser
using GetSocial.getCurrentUser()
. This method returns null
if SDK is not initialized. When you update user properties like avatar or display name, the object is automatically updated after opertion succeeded. If you switch or reset user, this object is changed to a new one. You will receive the new object in OnUserChangeListener or you can call GetSocial.getCurrentUser()
again and get the new instance.
All getters should be called on GetSocial.getCurrentUser()
.
All setters are removed and you should use a single method GetSocial.getCurrentUser().updateDetails(...)
instead.
GetSocial.addOnCurrentUserChangedListener
can be called multiple times with different listeners. It returns a String
- listener ID - which should be passed to GetSocial.removeOnCurrentUserChangedListener
if you want to remove a certain listener. Listener is called with an instance of a new user, you can use it or call GetSocial.getCurrentUser()
again.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.User.get* | GetSocial.getCurrentUser().get* |
GetSocial.User.set* | GetSocial.getCurrentUser().updateDetails |
GetSocial.User.addAuthIdentity | GetSocial.getCurrentUser().addIdentity |
GetSocial.User.removeAuthIdentity | GetSocial.getCurrentUser().removeIdentity |
GetSocial.User.switchUser | GetSocial.switchUser |
GetSocial.User.reset | GetSocial.resetUser |
GetSocial.User.setOnUserChangedListener | GetSocial.addOnCurrentUserChangedListener |
GetSocial.User.removeOnUserChangedListener | GetSocial.removeOnCurrentUserChangedListener |
Search Users¶
findUsers
returned only the first page of matching users. New Communities.getUsers
supports pagination.
You can also get a number of users that match a certain query using Communities.getUsersCount
.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.getUserById, GetSocial.getUserByAuthIdentity | Communities.getUser(UserId, Callback, FailureCallback) |
GetSocial.getUsersByAuthIdentities | Communities.getUsers(UserIdList, Callback, FailureCallback) |
GetSocial.findUsers | Communities.getUsers(PagingQuery, Callback, FailureCallback) |
Activities¶
All activities related methods are moved to Communities
class.
Like
concept is now extended to Reaction
and supports multiple reactions, like
is among them.
All GetSocial.post*
methods are replaced with a single Communities.postActivity
with PostActivityTarget
parameter. Read more about new features in Feeds 2.0.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.postActivityToFeed, GetSocial.postActivityToGlobalFeed, GetSocial.postCommentToActivity | Communities.postActivity |
GetSocial.likeActivity(…, true, …) | Communities.addReaction |
GetSocial.likeActivity(…, false, …) | Communities.removeReaction |
GetSocial.getActivityLikers | Communities.getReactions |
GetSocial.findTags | Communities.getTags |
Notifications¶
All notifications related methods are moved to Notifications
class.
NotificationListener
is now split into two: OnNotificationClickedListener
and OnNoticationReceivedListener
.
OnNotificationReceivedListener
is called when application is in foreground and GetSocial Push Notification is received. Note that now it is called even if notifications in foreground are enabled.
Enable Click Listener
In order to make OnNotificationClickedListener
being invoked, you have to set pushNotifications.customListener
to true
in getsocial.json
:
// getsocial.json
{
...
"pushNotifications": {
...
"customListener": true
}
}
OnNotificationClickedListener
does not return a boolean
anymore. If you have a custom listener and want to invoke a default behaviour, you should call GetSocial.handle()
in places where you would return false
in SDK 6.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.registerForPushNotifications | Notifications.registerDevice |
GetSocial.setNotificationListener | Notifications.setOnNotificationClickedListener, Notifications.setOnNotificationReceivedListener |
GetSocial.setPushNotificationTokenListener | Notifications.setOnTokenReceivedListener |
GetSocial.User.getNotifications | Notifications.get |
GetSocial.User.getNotificationsCount | Notifications.getCount |
GetSocial.User.sendNotification | Notifications.send |
GetSocial.User.setNotificationsStatus | Notifications.setStatus |
GetSocial.User.setPushNotificationsEnabled | Notifications.setPushNotificationsEnabled |
GetSocial.User.isPushNotificationsEnabled | Notifications.arePushNotificationsEnabled |
Invites¶
All invites related methods are moved to Invites
class.
Available invite channels list is now asynchronous operation.
To get a referral data, you now have a ReferralDataListener
, which will be called everytime the new referral data appears after clicking the link, whether on application launch or if application was running before.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.isInviteChannelAvailable | Removed. You can get the list of available invite channels and check if invite channel is there. |
GetSocial.getInviteChannels | Invites.getAvailableChannels |
GetSocial.sendInvite | Invites.send |
GetSocial.registerInviteChannelPlugin | Invites.registerPlugin |
GetSocial.getReferralData | Invites.setReferralDataListener |
GetSocial.clearReferralData | Removed. You don’t need to clear referral data anymore, as you will receive only a new referral data in a listener. |
Analytics¶
All analytics methods are moved to Analytics
class.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.trackCustomEvent | Analytics.trackCustomEvent |
GetSocial.trackPurchaseEvent | Analytics.trackPurchaseEvent |
Promo Codes¶
All promo codes methods are moved to PromoCodes
class.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.createPromoCode | PromoCodes.create |
GetSocial.getPromoCode | PromoCodes.get |
GetSocial.claimPromoCode | PromoCodes.claim |