GetSocial Unity SDK Upgrade Guide¶
For a minor version update, please check version-specific upgrade instructions in the Changelog.
If you are integrating from scratch, please follow Getting Started with GetSocial Unity SDK guide.
Upgrade from SDK 6 to SDK 7¶
- Download and unzip the latest GetSocial Unity SDK archive.
- Open your project in the Unity Editor.
- In the Project window open
GetSocial
folder and removeEditor
,Plugins
andScripts
subfolders (keepResources
subfolder). - In the menu go to Assets → Import Package → Custom Package, open
.unitypackage
located in thebin
folder of downloaded archive. - Import all assets.
Configuration¶
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.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 |
Methods¶
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 AddOnInitializedListener
. You can add multiple listeners.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.WhenInitialized | GetSocial.AddOnInitializedListener |
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 not automatically updated after operation succeeded. If you switch or reset user, this object is changed to a new one. You will receive the new object in OnCurrentUserChangedListener or you can call GetSocial.GetCurrentUser()
again and get the new instance.
All getters should be called on GetSocial.getCurrentUser()
instance.
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 can be used in GetSocial.removeOnCurrentUserChangedListener
if you want to remove a certain listener.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.User.Get* | GetSocial.GetCurrentUser().* |
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.users
method supports pagination.
You can also get a number of users that match a certain query using Communities.usersCount
.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.GetUserByID(id), GetSocial.UserWithId(id, providerId) | Communities.GetUser(UserId, Action |
GetSocial.GetUsersByIdentities(ids, providerId) | Communities.GetUsers(UserIdList, Action |
GetSocial.FindUsers | Communities.GetUsers(PagingQuery |
Activities¶
All activities related methods are moved to Communities
class.
Like
concept is now extended to Reaction
and supports multiple reactions, like
is one of them.
All GetSocial.Post*
methods are replaced with a single Communities.PostActivity
method 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 Has Custom Notification On Click Listener checked in GetSocial settings in Unity Editor.
```
OnNotificationClickedListener
does not need to return a boolean
anymore. If you have a custom listener and want to invoke a default behaviour, you should call GetSocial.Handle(action)
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.
Getting list of available invite channels is now asynchronous operation.
To get referral data, you now have a ReferralDataListener
, which will be called every time when the new referral data appears after clicking on 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 | Currently not supported in Unity. |
GetSocial.GetReferralData | Invites.SetReferralDataListener |
GetSocial.ClearReferralData | Removed. You don’t need to clear referral data anymore, as you will receive only the new referral data in the listener. |
Analytics¶
All analytics methods are moved to Analytics
class.
SDK v6 Method | SDK v7 Method |
---|---|
GetSocial.TrackCustomEvent | Analytics.TrackCustomEvent |
GetSocial.TrackPurchaseEvent | Analytics.TrackPurchase |
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 |