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.
if (GetSocial.isInitialized()) {
// use GetSocial
}
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:
GetSocial.addOnInitializeListener(new Runnable() {
@Override
public void run() {
// GetSocial is ready to be used
}
});
GetSocial.addOnInitializeListener {
// 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:
public class MainActivity extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
GetSocial.addOnInitializeListener(new Runnable() {
@Override
public void run() {
GetSocial.getReferralData(...);
}
});
GetSocial.init();
...
}
...
}
class MainActivity : AppCompatActivity() {
...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState);
...
GetSocial.addOnInitializeListener {
GetSocial.getReferralData(...)
}
GetSocial.init()
...
}
...
}
Initialize With Dynamic Application Id¶
Also, you can specify application ID to initialize with from code:
String appId = ...;
GetSocial.init(appId);
val appId = ....
GetSocial.init(appId)