> For the complete documentation index, see [llms.txt](https://aatkit.gitbook.io/android-integration/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aatkit.gitbook.io/android-integration/advanced/shake-debug.md).

# Shake Debug

By default, AATKit will display a popup box with information about AATKit’s version and the currently visible ads whenever the device has been heavily shaken by the user. You can disable or enable this behaviour after initializing AATKit.

{% hint style="info" %}
Debug screen will not be presented on top of fullscreen ads. Instead, once the ad is closed, the debug screen will have information about last presented fullscreen ad.
{% endhint %}

We encourage to keep the shake debug enabled in order to be able to track down possible bad-quality ads.

### Enable Shake Debug

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

```java
AATKitConfiguration configuration = new AATKitConfiguration(this);
AATKit.init(configuration);
AATKit.enableDebugScreen();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val configuration = AATKitConfiguration(this)
AATKit.init(configuration)
AATKit.enableDebugScreen()
```

{% endtab %}
{% endtabs %}

### Disable Shake Debug

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

```java
AATKitConfiguration configuration = new AATKitConfiguration(this);
// to disable shake debug from the very beginning:
configuration.setUseDebugShake(false);
AATKit.init(configuration);
// alternatively, to disable it after initialising AATKit:
AATKit.disableDebugScreen();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val configuration = AATKitConfiguration(this)
// to disable shake debug from the very beginning:
configuration.isUseDebugShake = false
AATKit.init(configuration)
// alternatively, to disable it after initialising AATKit:
AATKit.disableDebugScreen()
```

{% endtab %}
{% endtabs %}

### Customize Shake Debug

You can control which data should be displayed in the shake debug screen by the following:

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

```java
AATKitDebugScreenConfiguration debugScreenConfiguration = new AATKitDebugScreenConfiguration(appLogo, "Title");
debugScreenConfiguration.setShowBundleId(true);
debugScreenConfiguration.setShowAvailableNetworks(false);
// configure other available settings as needed
AATKit.configureDebugScreen(debugScreenConfiguration);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val debugScreenConfiguration = AATKitDebugScreenConfiguration(appLogo, "Title")
debugScreenConfiguration.showBundleId = true
debugScreenConfiguration.showAvailableNetworks = false
// configure other available settings as needed
AATKit.configureDebugScreen(debugScreenConfiguration)
```

{% endtab %}
{% endtabs %}

### Retrieve Debug Info

You can retrieve the debug info that will be displayed on the shake debug screen by using the following API:

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

```java
// Retrieve debug info as an AATKitDebugInfo instance
AATKitDebugInfo info = AATKit.getDebugInfoObject();
// Retrieve debug info as a string
String debugInfoString = AATKit.getDebugInfo();
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
// Retrieve debug info as an AATKitDebugInfo instance
val info = AATKit.getDebugInfoObject()
// Retrieve debug info as a string
val debugInfoString = AATKit.debugInfo
```

{% endtab %}
{% endtabs %}
