# Initialisation

6\. Create a TruecallerSdkScope object by using the appropriate configurational settings and use it to initialise the TruecallerSDK in your android activity's onCreate method :

```
TruecallerSdkScope trueScope = new TruecallerSdkScope.Builder(this, sdkCallback)
        .consentMode(TruecallerSdkScope.CONSENT_MODE_BOTTOMSHEET)
        .buttonColor(Color.parseColor(colorSpinner.getSelectedItem().toString()))
        .buttonTextColor(Color.parseColor(colorTextSpinner.getSelectedItem().toString()))
        .loginTextPrefix(TruecallerSdkScope.LOGIN_TEXT_PREFIX_TO_GET_STARTED)
        .loginTextSuffix(TruecallerSdkScope.LOGIN_TEXT_SUFFIX_PLEASE_VERIFY_MOBILE_NO)
        .ctaTextPrefix(TruecallerSdkScope.CTA_TEXT_PREFIX_USE)
        .buttonShapeOptions(TruecallerSdkScope.BUTTON_SHAPE_ROUNDED)
        .privacyPolicyUrl("<<YOUR_PRIVACY_POLICY_LINK>>")
        .termsOfServiceUrl("<<YOUR_PRIVACY_POLICY_LINK>>")
        .footerType(TruecallerSdkScope.FOOTER_TYPE_NONE)
        .consentTitleOption(TruecallerSdkScope.SDK_CONSENT_TITLE_LOG_IN)
        .sdkOptions(TruecallerSdkScope.SDK_OPTION_WITHOUT_OTP)
.build();          

TruecallerSDK.init(trueScope);
```

You will find complete details on the configuration options in the TruecallerSdkScope object as described above, and all the possible available values in the immediate next section of this documentation [here](https://truecaller4developers.gitbook.io/truecaller-sdk/android/sdk-v2.8.0/integrating-with-your-app/customisation-1)

{% hint style="info" %}
Here, ***sdkCallback*** is an interface that you need to define in your app where you would get the success or failure callbacks. You will find details about the implementation in this [section](https://truecaller4developers.gitbook.io/truecaller-sdk/android/sdk-v2.8.0/integrating-with-your-app/implement-callbacks)

Please note, ***sdkOptions*** enables you to configure the verification capability of Truecaller SDK. \
\
If you want to use the SDK for verification of Truecaller users only, you should provide the scope value as *TruecallerSdkScope.SDK\_OPTION\_WITHOUT\_OTP*

If you want to use the SDK for verification of Truecaller users as well as non-Truecaller users powered by Truecaller's drop call / OTP ( for implementation details, refer [Verifying non-Truecaller users](https://truecaller4developers.gitbook.io/truecaller-sdk/android/sdk-v2.8.0/integrating-with-your-app/verifying-non-truecaller-users) section ), you should provide the scope value as *TruecallerSdkScope.SDK\_OPTION\_WITH\_OTP*
{% endhint %}

Truecaller SDK needs to be initialised only once and the same instance can be accessed at any place within your app, without the need to initialise it again, via `TruecallerSDK.getInstance()`

{% hint style="info" %}
`Initialising the SDK at more than one place can lead to undesired behaviour`
{% endhint %}

Once you initialise the TruecallerSDK using the init() method, if you are using the SDK for verification of only Truecaller users ( by setting the *sdkOptions* scope as  TruecallerSdkScope.SDK\_OPTION\_WITHOUT\_OTP ), you can check if the Truecaller app is present on the user's device or not by using the following method

```
TruecallerSDK.getInstance().isUsable()
```

![](https://926286278-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_r_7LQgMQPpvEeFmRw-2395863198%2Fuploads%2FzrDmFJvWRJUFQffLnPuO%2FInitialization-1.png?alt=media\&token=8c6baa50-5b1e-4348-845f-ecf71a694426)

You can trigger the Truecaller profile verification dialog anywhere in your app flow by calling the following method

```
TruecallerSDK.getInstance().getUserProfile() 
```

![](https://926286278-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_r_7LQgMQPpvEeFmRw-2395863198%2Fuploads%2Fe9uD0VmaCAJSAUR8C4AO%2FInitialization-2.png?alt=media\&token=eddee7c3-8305-4fc2-8175-d75c49222e91)

In case **isUsable()** method returns false, implying that Truecaller app is not present on the device, you can take the user to your app screen and continue with the [verification flow for non-Truecaller users](https://truecaller4developers.gitbook.io/truecaller-sdk/android/sdk-v2.8.0/integrating-with-your-app/verifying-non-truecaller-users) OR choose to use your own verification flow \[ Refer image below ]

![](https://926286278-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_r_7LQgMQPpvEeFmRw-2395863198%2Fuploads%2FF06QQgu7fDdUDT3J4MZy%2FInitialization-3.png?alt=media\&token=db8e9e01-50c4-42c6-8cce-082734662a71)
