Skip to content

GetSocial Android SDK Manual Initialization Guide

Disable Auto Initialization

By default, GetSocial SDK initializes automatically on application start. You can disable this behavior and initialize from code.

If you’re using GetSocial Gradle plugin, set autoInit flag to false in your build.gradle file:

apply plugin: 'im.getsocial'

getsocial {
    appId "LK8A9cA0o07"
    autoInit false
}

If you’re not using Gradle plugin, add <meta-data> to your <application> tag in AndroidManifest.xml:

<application android:label="@string/app_name" ...>
    ...
    <meta-data android:name="im.getsocial.sdk.AutoInitSdk" android:value="false"/>
    ...
</application>

Initialize From Code

To initialize GetSocial SDK from code, just call GetSocial.init().

Most of GetSocial APIs require initialized SDK. You can check SDK initialization state in sync or async way.

```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
}

It can be useful when you want to use GetSocial on application start, but you can not be sure is it ready for use, for example, you want to retrieve referral data on application start:

```java tab=”Java” hl_lines=”13”
public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

GetSocial.whenInitialized(new Runnable() {
@Override
public void run() {
GetSocial.getReferralData(…);
}
});
GetSocial.init();

}

}

```kotlin tab="Kotlin"
class MainActivity : AppCompatActivity() {
    ...
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState);
        ...
        GetSocial.whenInitialized {
            GetSocial.getReferralData(...)
        }
        GetSocial.init()
        ...
    }
    ...
}

Initialize With Dynamic Application Id

Also, you can specify application ID to initialize with from code:

```java tab=”Java”
String appId = …;
GetSocial.init(appId);

```kotlin tab="Kotlin"
val appId = ....
GetSocial.init(appId)

Give us your feedback! Was this article helpful?

😀 🙁