Skip to content

GetSocial Android SDK Changelog

v7.12.4 - 1 Feb, 2023

  • Added support for posting nested comments
  • Added new includeComments property of ActivitiesQuery 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


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 to ChatMessage class.

v7.4.0 - 13 Jan, 2021

New:


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:


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 is UserId.create.
  • UserId.userWithIdentityId is UserId.createWithProvider.
  • UserIdList.usersWithIds is UserIdList.create.
  • UserIdList.usersWithIdentityIds is UserIdList.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 now Identity.custom()
  • Identity.createFacebookIdentity() is now Identity.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

  1. In your project open build.gradle.
  2. Find a line similar to classpath "im.getsocial:plugin:+" and change to classpath "im.getsocial:plugin-v7:[1,2)".
  3. If you have an explicitly specified version in gradle plugin, update it to 7.0.0 or just remove it use the latest one.
  4. Add Java 8 compatibility:

    android {
        ...
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    
  5. 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

Give us your feedback! Was this article helpful?

😀 🙁