# Testing your integration

Batch provides a simple [**debug tool**](https://doc.batch.com/getting-started/features/mobile-engagement-platform/settings/app-settings#debug-tools) that allows you to test your custom data integration (⚙ Settings → Debug). It shows all the data available for a specific user ID:

* **Token**: Find the token of a specific device.
* **Custom user ID**: Check if your [custom user ID implementation](/developer/sdk/android/profile-data/custom-user-id.md) is working correctly.
* **Native attributes**: See the installation date, last session date, country and more information on a specific user / install.
* **Custom data**: See if your app is tagged properly and if custom attributes/events are sent to Batch.

![Debug tool](/files/IlJ5h2obUQhRECaK7YXW)

### Finding your ID

**Installation ID**

You can find the Installation ID of a device by calling:

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
Batch.User.getInstallationID()
```

{% endtab %}

{% tab title="Java" %}

```java
Batch.User.getInstallationID();
```

{% endtab %}
{% endtabs %}

You can either log this to the debug logs, or display it in a debug menu directly in your app. It can safely be exposed to your end users, who can then give it back to you if they are experiencing push trouble with their app.

Starting with Batch 1.18, the SDK will also automatically copy the installation ID to the clipboard if a user follows a [backgrounding/foregrounding sequence](/developer/sdk/android/troubleshooting.md#copying-the-installation-id).

**Google Advertising ID**

The Google Advertising ID *(GAID)* can be found in the settings of your device: *Settings → Google → Ads*.

### Understanding the results

The results displayed in the debug tool are updated in real time. There are five different pieces of information shown for a single ID:

* Basic information *(token, install ID, custom user ID, etc)*.
* [Native attributes](/developer/api/mep/campaigns/parameters.md#native-attributes) prefixed with `b.` *(b.attribute\_name)*.
* [Custom attributes](/developer/api/mep/campaigns/parameters.md#custom-user-data) prefixed with `c.` *(c.attribute\_name)*.
* [Tags](/developer/sdk/android/profile-data/attributes.md#reading-tag-collections) prefixed with `t.` *(t.tag\_name)*.
* [Events](/developer/sdk/android/profile-data/events.md) prefixed with `e.`*(e.event\_name)*.

Here are some details on the native attributes you will find in the results:

* `b.app_version`: Version of the app installed on your user's device.
* `b.carrier_code`: Your user's carrier. The code provided by Batch is a combination of the *Mobile country code (MCC)* and the *Mobile network code (MNC)*. The full list of MCC and MNC codes is [available here](https://en.wikipedia.org/wiki/Mobile_country_code).
* `b.city_code`: City detected by Batch using IP geolocation.
* `b.device_brand`: Brand of your user's device.
* `b.device_type`: Model of your user's device. [See here](/developer/api/mep/campaigns/advanced.md) if you need more information on a specific iOS/Android device model.
* `b.install_date`: Install date of the app *(UTC/GMT)*.
* `b.language`: Language of your user.
* `b.last_push_date`: Date of the last sent notification from the dashboard or the Campaigns API *(UTC/GMT)*.
* `b.last_visit_date`: Date of the last session *(UTC/GMT)*.
* `b.os_version`: Version of the OS used on your user's device.
* `b.region`: Country of your user.
* `b.transaction_tracked`: Your user has or hasn't made any purchases in your app. Make sure you are sending data on transactions to see this information.
* `b.is_push_optin`: True if the install is opt-in to push, meaning that it can receive and display push notifications


---

# 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://doc.batch.com/developer/sdk/android/profile-data/debug.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.
