Getting Started with GetSocial Android SDK¶
Welcome to the Getting Started section of the GetSocial documentation. Here you will find guides that describe how to accomplish a specific task with code samples you can re-use in your app.
System Requirements¶
To use GetSocial SDK your execution and development environment should match the following requirements:
- Android v4.0.3 (SDK v15) or higher
- Android Developers Tools (ADT) version 19 or above
- Google Play Services library v6.1.11 or above (for push notifications)
Not sure if GetSocial is going to work in your specific configuration? Feel free to reach us via Intercom or email.
Adding GetSocial to Your App¶
Create App on the Dashboard¶
To start using GetSocial, you have to create a free account and login to GetSocial Dashboard. Dashboard provides a web interface to manage all GetSocial services.
- Login to GetSocial Dashboard.
- Open Add new app wizard.
- Fill in App name and upload App icon image.
- Select Android platform and Finish the wizard.
Configure GetSocial Gradle Plugin¶
To start using GetSocial, you have to add and configure GetSocial Gradle Plugin to your Android project. Plugin adds all GetSocial dependencies to the project and configures AndroidManifest.xml
.
Alternatively, you can add dependencies and modify AndroidManifest.xml
manually. Please follow the manual integration guide for details.
To add GetSocial Gradle plugin:
-
Add repository and classpath dependency for the plugin in your top-level
build.gradle
:buildscript { repositories { ... maven { url "https://plugins.gradle.org/m2/" } } dependencies { ... classpath "im.getsocial:plugin:[0,1)" } }
-
In the Android application project
build.gradle
applyim.getsocial
plugin aftercom.android.application
plugin:apply plugin: 'com.android.application' apply plugin: 'im.getsocial' // should be applied after com.android.application plugin
-
In the same
build.gradle
configure GetSocial plugin with GetSocial App id:getsocial { appId "put-your-getsocial-app-id-here" ... }
You can find GetSocial App id in the App settings section on the GetSocial Dashboard:
Check the GetSocial Gradle plugin reference for the full list of available configurations.
Enable Google Play on the Dashboard¶
Next step is to enable Google Play store on the GetSocial Dashboard:
- On the App settings section → App information tab → enable Google Play store.
-
Fill in Package name and Signing-certificate fingerprint fields:
Package name is the
applicationId
in your app-levelbuild.gradle
file.Signing-certificate fingerprint is a list of SHA-256 hashes of the certificates you use to sign your application. You have to add fingerprints of all keys you use to sign app. GetSocial Gradle plugin adds a helper task
printSigningCertificateSHA256
to print SHA-256 fingerprints for all configured build flavors:gradle printSigningCertificateSHA256
Using Google Play App Signing?
If you are using Google Play App Signing you can copy SHA256 from the Play Console. If you’re using a separate Upload certificate, please add his SHA256 to GetSocial Dashboard as well. Learn more in the detailed guide.
Configure ProGuard¶
If you have custom ProGuard configuration for your project include the lines below:
# Required
-keepattributes Signature,InnerClasses,Annotation
-keepattributes SourceFile,LineNumberTable
-keepattributes *Annotation*
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-dontwarn sun.misc.Unsafe
-keep class sun.misc.Unsafe { *; }
-dontwarn im.getsocial.**
-keep class im.getsocial.** {*;}
-keepnames class im.getsocial.** {*;}
# Used for GetSocial analytics
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
public com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
public java.lang.String getId();
}
# Push Notifications (do not include, it you do not use this feature)
# If you use GCM:
-keep class com.google.android.gms.iid.InstanceID {
static com.google.android.gms.iid.InstanceID getInstance(android.content.Context);
java.lang.String getToken(java.lang.String, java.lang.String);
}
# If you use Firebase:
-keep class com.google.firebase.iid.FirebaseInstanceId {
static com.google.firebase.iid.FirebaseInstanceId getInstance();
java.lang.String getToken();
}
GetSocial SDK Size¶
Due to limited resources on mobile devices and 65k methods limitation in one DEX library size and added methods count play an important role in app development.
Below you can find size and method count values for GetSocial Android SDK v6.29.0. You can expect similar values for all future versions of the library.
Android Library | Raw Aar Size | Methods Count |
---|---|---|
getsocial-core.aar |
0.86 MB | 4788 |
getsocial-ui.aar |
0.44 MB | 3365 |
Enable ProGuard
We suggest using ProGuard to reduce methods count.
Start Using GetSocial¶
At this point, you should be able to start using GetSocial. Let’s try to send our first Smart Invite with and without GetSocial UI.
GetSocial UI¶
GetSocial UI library contains easy to customize views for all GetSocial features, e.g. code below will create and show GetSocial Smart Invites view:
```java tab=”Java”
boolean wasShown = GetSocialUi.createInvitesView().show();
Log.i(“GetSocial”, “GetSocial Smart Invites UI was shown: ” + wasShown);
```kotlin tab="Kotlin"
val wasShown = GetSocialUi.createInvitesView().show()
println("GetSocial Smart Invites UI was shown: ${wasShown}")
After invoking code above, GetSocial Smart Invites view will be shown:

Why there are only a few apps?
The list of Smart Invites Channels in the view above will contain all social apps that are 1) enabled on the GetSocial Dashboard and 2) installed on the device.
GetSocial without UI¶
If you plan to build your own UI, you can remove GetSocial UI library from dependencies and use only GetSocial data layer. To run the test, add the code below to any button callback:
```java tab=”Java”
GetSocial.sendInvite(InviteChannelIds.EMAIL, new InviteCallback() {
@Override
public void onComplete() {
Log.i(“GetSocial”, “Invitation via EMAIL was sent”);
}
1 2 3 4 5 6 7 8 9 |
|
});
kotlin tab=”Kotlin”
GetSocial.sendInvite(InviteChannelIds.EMAIL, object : InviteCallback{
override fun onComplete() {
println(“Invitation via EMAIL was sent”)
}
override fun onCancel() {
println(“Invitation via EMAIL was cancelled”)
}
override fun onError(throwable: Throwable) {
println(“Invitation via EMAIL failed, error: ${throwable.message}”)
}
})
```
After calling this method email client will be opened:

SDK Initialization¶
GetSocial SDK is auto-initialized, just provide a GetSocial App Id in the Gradle plugin and we will do the magic.
Manual Initialization
If you want to initialize GetSocial SDK manually, check this topic.
Most of GetSocial APIs require the SDK to be initialized. You can check the if SDK is initialized synchronously or asynchronously.
```java tab=”Java”
if (GetSocial.isInitialized()) {
// use GetSocial
}
```kotlin tab="Kotlin"
if (GetSocial.isInitialized()) {
// use GetSocial
}
If you want to be notified about initialization complete, you can set a callback, that will be invoked when SDK gets initialized or invoked immediately if it is already initialized:
```java tab=”Java”
GetSocial.whenInitialized(new Runnable() {
@Override
public void run() {
// GetSocial is ready to be used
}
});
```kotlin tab="Kotlin"
GetSocial.whenInitialized {
// GetSocial is ready to be used
}
For instance, you can use whenInitialized
to ensure GetSocial SDK is initialized to get referral data on the application start:
```java tab=”Java”
public class MainActivity extends Activity {
…
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
…
GetSocial.whenInitialized(new Runnable() {
@Override
public void run() {
GetSocial.getReferralData(…);
}
});
…
}
…
}
```kotlin tab="Kotlin"
class MainActivity : Activity() {
...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
GetSocial.whenInitialized {
GetSocial.getReferralData(...)
}
...
}
...
}
Demo Application¶
To showcase all GetSocial SDK features, we have created a simple demo application. Explore it on the GitHub or install from Google Play.
Next Steps¶
Well-done! GetSocial SDK is now set up and ready to rock, check what you can do next:
- Set up deep linking and drive users from web to your mobile app with Smart Links, Smart Widget and Smart Banners.
- Implement referral campaigns or content sharing with Smart Invites.
- Create in-app communities, learn about Activity Feed.
- Implement notifications center to re-engage existing users with Notifications.