# 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 :

Copy

```
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://docs.truecaller.com/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](/truecaller-sdk/android/sdk-v2.8.0-deprecating-soon/integrating-with-your-app/implement-callbacks.md).

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](/truecaller-sdk/android/sdk-v2.8.0-deprecating-soon/integrating-with-your-app/verifying-non-truecaller-users.md) 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()`<br>

{% 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

Copy

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

<figure><img src="/files/kuKt9w3Y6WxXU5IlqsO1" alt=""><figcaption></figcaption></figure>

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

Copy

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

<figure><img src="/files/7WSUNr7bLpt7wLuG085Z" alt=""><figcaption></figcaption></figure>

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

Copy

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

<figure><img src="/files/ZmceN77y030H5eo3of7f" alt=""><figcaption></figcaption></figure>

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](/truecaller-sdk/android/sdk-v2.8.0-deprecating-soon/integrating-with-your-app/verifying-non-truecaller-users.md) OR choose to use your own verification flow \[ Refer image below ].

<figure><img src="/files/lgfg7LNEK5WOD9gyqpif" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.truecaller.com/truecaller-sdk/android/sdk-v2.8.0-deprecating-soon/integrating-with-your-app/initialisation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
