# SDK

Using the Hackle SDK, you can easily integrate the various features provided by Hackle into your service.

### Client SDK

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><i class="fa-android">:android:</i></td><td>Android SDK</td><td><img src="https://img.shields.io/maven-central/v/io.hackle/hackle-android-sdk" alt="" data-size="original"></td><td><ul><li><a href="https://github.com/hackle-io/hackle-android-sdk">Github</a></li><li><a href="https://github.com/hackle-io/hackle-android-sdk/releases">Release</a></li></ul></td><td></td><td><a href="/pages/xf5VLghjDgw2xf3nGiM5">/pages/xf5VLghjDgw2xf3nGiM5</a></td></tr><tr><td><i class="fa-apple">:apple:</i></td><td>iOS SDK</td><td><img src="https://img.shields.io/github/v/release/hackle-io/hackle-ios-sdk?label=spm" alt=""> <img src="https://img.shields.io/cocoapods/v/Hackle" alt=""></td><td><ul><li><a href="https://github.com/hackle-io/hackle-ios-sdk">Github</a></li><li><a href="https://github.com/hackle-io/hackle-ios-sdk/releases">Release</a></li></ul></td><td></td><td><a href="/pages/HfqBYZaUy6mgIRNa81Wz">/pages/HfqBYZaUy6mgIRNa81Wz</a></td></tr><tr><td><i class="fa-js">:js:</i></td><td>JavaScript SDK</td><td><img src="https://img.shields.io/npm/v/%40hackler%2Fjavascript-sdk" alt=""></td><td><ul><li><a href="https://www.npmjs.com/package/@hackler/javascript-sdk">npm</a></li><li><a href="https://hackle-io.github.io/hackle-javascript-sdk/documents/release-javascript-sdk.html">ChangeLog</a></li></ul></td><td></td><td><a href="/pages/6OV3zDZjBmeUgzNwawkn">/pages/6OV3zDZjBmeUgzNwawkn</a></td></tr><tr><td><i class="fa-react">:react:</i></td><td>React SDK</td><td><img src="https://img.shields.io/npm/v/%40hackler%2Freact-sdk" alt=""></td><td><ul><li><a href="https://www.npmjs.com/package/@hackler/react-sdk">npm</a></li><li><a href="https://hackle-io.github.io/hackle-javascript-sdk/documents/release-react-sdk.html">ChangeLog</a></li></ul></td><td></td><td><a href="/pages/Aai7dKOMTyY8IjkDkORE">/pages/Aai7dKOMTyY8IjkDkORE</a></td></tr><tr><td><i class="fa-react">:react:</i></td><td>React Native SDK</td><td><img src="https://img.shields.io/npm/v/%40hackler%2Freact-native-sdk" alt=""></td><td><ul><li><a href="https://www.npmjs.com/package/@hackler/react-native-sdk">npm</a></li><li><a href="https://hackle-io.github.io/hackle-react-native-sdk/documents/CHANGELOG.html">ChangeLog</a></li></ul></td><td></td><td><a href="/pages/Dr2vdR300k0GRgjedvP7">/pages/Dr2vdR300k0GRgjedvP7</a></td></tr><tr><td><i class="fa-flutter">:flutter:</i></td><td>Flutter SDK</td><td><img src="https://img.shields.io/pub/v/hackle" alt=""></td><td><ul><li><a href="https://pub.dev/packages/hackle">pub.dev</a></li><li><a href="https://pub.dev/packages/hackle/changelog">ChangeLog</a></li></ul></td><td></td><td><a href="/pages/q3JUfisBbmNZLwWtmWNB">/pages/q3JUfisBbmNZLwWtmWNB</a></td></tr><tr><td><i class="fa-unity">:unity:</i></td><td>Unity SDK</td><td><img src="https://img.shields.io/github/v/release/hackle-io/unity-sdk" alt=""></td><td><ul><li><a href="https://github.com/hackle-io/unity-sdk">Github</a></li><li><a href="https://github.com/hackle-io/unity-sdk/releases">Release</a></li></ul></td><td></td><td><a href="/pages/PSq1SMqNXURgMMWNXEPK">/pages/PSq1SMqNXURgMMWNXEPK</a></td></tr></tbody></table>

### Server SDK

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><i class="fa-java">:java:</i></td><td>Java/Kotlin SDK</td><td><img src="https://img.shields.io/maven-central/v/io.hackle/hackle-server-sdk" alt=""></td><td><ul><li><a href="https://github.com/hackle-io/hackle-java-sdk">Github</a></li><li><a href="https://github.com/hackle-io/hackle-java-sdk/releases">Release</a></li></ul></td><td></td><td><a href="/pages/BFrJYBlVveHATdOFmBUh">/pages/BFrJYBlVveHATdOFmBUh</a></td></tr><tr><td><i class="fa-node-js">:node-js:</i></td><td>Node.js SDK</td><td><img src="https://img.shields.io/npm/v/%40hackler%2Fjavascript-sdk" alt=""></td><td><ul><li><a href="https://www.npmjs.com/package/@hackler/javascript-sdk">npm</a></li><li><a href="https://hackle-io.github.io/hackle-javascript-sdk/documents/release-javascript-sdk.html">ChangeLog</a></li></ul></td><td></td><td><a href="/pages/VQ86T1KQMpUiP4NXJfYW">/pages/VQ86T1KQMpUiP4NXJfYW</a></td></tr><tr><td><i class="fa-python">:python:</i></td><td>Python SDK</td><td><img src="https://img.shields.io/pypi/v/hackle-sdk" alt=""></td><td><ul><li><a href="https://pypi.org/project/hackle-sdk/">pypi</a></li></ul></td><td></td><td><a href="/pages/71gCiILYeHjascy3yG5C">/pages/71gCiILYeHjascy3yG5C</a></td></tr><tr><td><i class="fa-golang">:golang:</i></td><td>Go SDK</td><td><img src="https://img.shields.io/github/v/tag/hackle-io/hackle-go-sdk" alt=""></td><td><ul><li><a href="https://github.com/hackle-io/hackle-go-sdk">Github</a></li><li><a href="https://github.com/hackle-io/hackle-go-sdk/releases">Release</a></li></ul></td><td></td><td><a href="/pages/gcZ9N9FccynDanXJfUse">/pages/gcZ9N9FccynDanXJfUse</a></td></tr><tr><td><i class="fa-php">:php:</i></td><td>PHP SDK</td><td><img src="https://img.shields.io/packagist/v/hackle/hackle-php-sdk" alt=""></td><td><ul><li><a href="https://github.com/hackle-io/hackle-php-sdk">Github</a></li><li><a href="https://github.com/hackle-io/hackle-php-sdk/releases">Release</a></li></ul></td><td></td><td><a href="/pages/9BRBIYz3LhJYjhOvzcR3">/pages/9BRBIYz3LhJYjhOvzcR3</a></td></tr><tr><td><i class="fa-gem">:gem:</i></td><td>Ruby SDK</td><td><img src="https://img.shields.io/gem/v/hackle-ruby-sdk" alt=""></td><td><ul><li><a href="https://github.com/hackle-io/hackle-ruby-sdk">Github</a></li><li><a href="https://github.com/hackle-io/hackle-ruby-sdk/releases">Release</a></li></ul></td><td></td><td><a href="/pages/0XEQ4z5Nmt3RKDVJ53VD">/pages/0XEQ4z5Nmt3RKDVJ53VD</a></td></tr></tbody></table>

### Minimum Supported SDK Version per Feature

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

| Feature                            | Minimum Version |
| ---------------------------------- | --------------- |
| In-App HTML                        | 2.66.0+         |
| HackleSessionPolicy                | 2.65.0+         |
| opt-out tracking                   | 2.65.0+         |
| In-App Message TimeTable           | 2.63.0+         |
| Web App Page Event Auto-collection | 2.62.0+         |
| App Auto-collected Events          | 2.61.0+         |
| In-App Message Delay               | 2.59.0+         |
| Push Image / Push Channel          | 2.58.0+         |
| WebView Browser Property           | 2.58.0+         |
| Push Icon Change                   | 2.57.0+         |
| Marketing Subscription Consent     | 2.55.0+         |
| Push Message                       | 2.33.0+         |
| Web App Integration                | 2.29.0+         |
| In-App Message                     | 2.24.0+         |
| Remote Config                      | 2.11.0+         |
| Parameter Settings                 | 2.9.0+          |
| Mutually Exclusive Settings        | 2.6.0+          |
| Hackle ID                          | 2.5.0+          |
| Targeting                          | 2.1.0+          |
| Data Segment Analytics             | 2.0.0+          |
| Feature Flag                       | 2.0.0+          |
| {% endtab %}                       |                 |

{% tab title="iOS" %}

| Feature                            | Minimum Version |
| ---------------------------------- | --------------- |
| In-App HTML                        | 3.2.0+          |
| HackleSessionPolicy                | 3.1.0+          |
| opt-out tracking                   | 3.1.0+          |
| In-App Message TimeTable           | 2.58.0+         |
| Web App Page Event Auto-collection | 2.57.0+         |
| App Auto-collected Events          | 2.56.1+         |
| In-App Message Delay               | 2.54.0+         |
| Push Image / Push Channel          | 2.53.0+         |
| WebView Browser Property           | 2.53.0+         |
| Marketing Subscription Consent     | 2.50.0+         |
| Push Message                       | 2.28.0+         |
| Web App Integration                | 2.27.0+         |
| In-App Message                     | 2.24.0+         |
| Remote Config                      | 2.11.0+         |
| Parameter Settings                 | 2.9.0+          |
| Mutually Exclusive Settings        | 2.6.0+          |
| Hackle ID                          | 2.5.0+          |
| Targeting                          | 2.0.0+          |
| Data Segment Analytics             | 2.0.0+          |
| Feature Flag                       | 2.0.0+          |
| {% endtab %}                       |                 |

{% tab title="JavaScript" %}

| Feature                               | Minimum Version |
| ------------------------------------- | --------------- |
| In-App HTML                           | 11.55.0+        |
| HackleSessionPolicy                   | 11.54.0+        |
| opt-out tracking                      | 11.54.0+        |
| In-App Message TimeTable              | 11.52.0+        |
| Web App Page Event Auto-collection    | 11.51.0+        |
| In-App Message Size Adjustment for PC | 11.49.2+        |
| In-App Message Delay                  | 11.47.0+        |
| WebView Browser Property              | 11.46.0+        |
| Marketing Subscription Consent        | 11.45.0+        |
| In-App Message                        | 11.17.0+        |
| Remote Config                         | 11.7.3+         |
| Parameter Settings                    | 11.3.0+         |
| Mutually Exclusive Settings           | 3.5.0+          |
| Hackle ID                             | 3.4.0+          |
| Targeting                             | 2.1.0+          |
| Data Segment Analytics                | 2.0.0+          |
| Feature Flag                          | 2.0.0+          |
| {% endtab %}                          |                 |

{% tab title="React" %}

| Feature                               | Minimum Version |
| ------------------------------------- | --------------- |
| In-App HTML                           | 11.55.0+        |
| HackleSessionPolicy                   | 11.54.0+        |
| opt-out tracking                      | 11.54.0+        |
| In-App Message TimeTable              | 11.52.0+        |
| Web App Page Event Auto-collection    | 11.51.0+        |
| In-App Message Size Adjustment for PC | 11.49.2+        |
| In-App Message Delay                  | 11.47.0+        |
| WebView Browser Property              | 11.46.0+        |
| Marketing Subscription Consent        | 11.45.0+        |
| In-App Message                        | 11.17.0+        |
| Remote Config                         | 11.7.3+         |
| Parameter Settings                    | 11.3.0+         |
| Mutually Exclusive Settings           | 3.5.0+          |
| Hackle ID                             | 3.4.0+          |
| Targeting                             | 2.1.0+          |
| Data Segment Analytics                | 2.0.0+          |
| Feature Flag                          | 2.0.0+          |
| {% endtab %}                          |                 |

{% tab title="React Native" %}

| Feature                            | Minimum Version |
| ---------------------------------- | --------------- |
| In-App HTML                        | 3.33.0+         |
| HackleSessionPolicy                | 3.32.0+         |
| opt-out tracking                   | 3.32.0+         |
| In-App Message TimeTable           | 3.29.0+         |
| Web App Page Event Auto-collection | 3.28.0+         |
| App Auto-collected Events          | 3.28.0+         |
| Web App Integration                | 3.28.0+         |
| Push Image / Push Channel          | 3.26.0+         |
| In-App Message Delay               | 3.26.0+         |
| Push Icon Change                   | 3.25.0+         |
| Marketing Subscription Consent     | 3.24.0+         |
| Push Message                       | 3.10.0+         |
| In-App Message                     | 3.8.0+          |
| Remote Config                      | 3.3.0+          |
| Hackle ID                          | 3.3.0+          |
| Parameter Settings                 | 3.3.0+          |
| Mutually Exclusive Settings        | 3.3.0+          |
| Targeting                          | 2.0.0+          |
| Data Segment Analytics             | 2.0.0+          |
| Feature Flag                       | 2.0.0+          |
| {% endtab %}                       |                 |

{% tab title="Flutter" %}

| Feature                            | Minimum Version |
| ---------------------------------- | --------------- |
| In-App HTML                        | 2.30.0+         |
| HackleSessionPolicy                | 2.29.0+         |
| opt-out tracking                   | 2.29.0+         |
| In-App Message TimeTable           | 2.27.0+         |
| Web App Page Event Auto-collection | 2.26.0+         |
| App Auto-collected Events          | 2.25.1+         |
| In-App Message Delay               | 2.23.0+         |
| Push Image / Push Channel          | 2.23.0+         |
| WebView Browser Property           | 2.23.0+         |
| Push Icon Change                   | 2.22.0+         |
| Marketing Subscription Consent     | 2.20.0+         |
| Web App Integration                | 2.13.0+         |
| Push Message                       | 2.8.0+          |
| In-App Message                     | 2.5.0+          |
| Remote Config                      | All versions    |
| Hackle ID                          | All versions    |
| Parameter Settings                 | All versions    |
| Mutually Exclusive Settings        | All versions    |
| Targeting                          | All versions    |
| Data Segment Analytics             | All versions    |
| Feature Flag                       | All versions    |
| {% endtab %}                       |                 |

{% tab title="Unity" %}

| Feature                     | Minimum Version |
| --------------------------- | --------------- |
| In-App HTML                 | Not supported   |
| HackleSessionPolicy         | Not supported   |
| opt-out tracking            | Not supported   |
| In-App Message TimeTable    | Not supported   |
| Web App Integration         | Not supported   |
| Push Message                | Not supported   |
| In-App Message              | Not supported   |
| Hackle ID                   | Not supported   |
| Remote Config               | 1.4.0+          |
| Parameter Settings          | 1.3.0+          |
| Mutually Exclusive Settings | 1.2.0+          |
| Targeting                   | All versions    |
| Data Segment Analytics      | All versions    |
| Feature Flag                | All versions    |
| {% endtab %}                |                 |

{% tab title="Java/Kotlin" %}

| Feature                     | Minimum Version |
| --------------------------- | --------------- |
| Remote Config               | 2.9.0+          |
| Parameter Settings          | 2.8.0+          |
| Mutually Exclusive Settings | 2.6.0+          |
| Hackle ID                   | 2.5.0+          |
| Targeting                   | 2.1.0+          |
| Data Segment Analytics      | 2.0.0+          |
| Feature Flag                | 2.0.0+          |
| {% endtab %}                |                 |

{% tab title="Python" %}

| Feature                     | Minimum Version |
| --------------------------- | --------------- |
| Remote Config               | 3.2.0+          |
| Parameter Settings          | 3.1.0+          |
| Mutually Exclusive Settings | 2.3.0+          |
| Hackle ID                   | 2.3.0+          |
| Targeting                   | 2.1.0+          |
| Data Segment Analytics      | 2.0.0+          |
| Feature Flag                | 2.0.0+          |
| {% endtab %}                |                 |

{% tab title="Node.js" %}

| Feature                     | Minimum Version |
| --------------------------- | --------------- |
| Remote Config               | 11.5.0+         |
| Parameter Settings          | 11.3.0+         |
| Mutually Exclusive Settings | 3.5.0+          |
| Hackle ID                   | 3.4.0+          |
| Targeting                   | 2.1.0+          |
| Data Segment Analytics      | 2.0.0+          |
| Feature Flag                | 2.0.0+          |
| {% endtab %}                |                 |

{% tab title="Go" %}

| Feature                     | Minimum Version |
| --------------------------- | --------------- |
| Remote Config               | 3.2.0+          |
| Parameter Settings          | 3.1.0+          |
| Mutually Exclusive Settings | 2.3.0+          |
| Targeting                   | 2.1.0+          |
| Data Segment Analytics      | 2.0.0+          |
| Feature Flag                | 2.0.0+          |
| {% endtab %}                |                 |

{% tab title="PHP" %}

| Feature                     | Minimum Version |
| --------------------------- | --------------- |
| Remote Config               | 1.0.0+          |
| Parameter Settings          | 1.0.0+          |
| Mutually Exclusive Settings | 1.0.0+          |
| Hackle ID                   | 1.0.0+          |
| Targeting                   | 1.0.0+          |
| Data Segment Analytics      | 1.0.0+          |
| Feature Flag                | 1.0.0+          |
| {% endtab %}                |                 |

{% tab title="Ruby" %}

| Feature                     | Minimum Version |
| --------------------------- | --------------- |
| Remote Config               | 2.0.0+          |
| Parameter Settings          | 2.0.0+          |
| Mutually Exclusive Settings | 2.0.0+          |
| Hackle ID                   | 2.0.0+          |
| Targeting                   | 2.0.0+          |
| Data Segment Analytics      | 2.0.0+          |
| Feature Flag                | 2.0.0+          |
| {% endtab %}                |                 |
| {% endtabs %}               |                 |


---

# 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.hackle.io/en/development-guide/sdk.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.
