# Android SDK

### **Начать**

Чтобы начать отслеживание с помощью Android SDK Offer18, вам нужно интегрировать SDK в ваше приложение как зависимость.

Для **Gradle** в **Kotlin,** Добавьте зависимости в `build.gradle.kts` файл

```gradle
implementation("com.offer18:android-sdk:{VERSION}")
```

Для **Gradle** в **Groovy,**  Добавьте зависимости в `build.gradle` файл

```gradle
implementation 'com.offer18:android-sdk:{VERSION}'
```

{% hint style="warning" %}
Вы должны заменить `{VERSION}` на последнюю стабильную версию Android SDK от Offer18
{% endhint %}

Узнать последнюю стабильную версию Android SDK

{% embed url="<https://central.sonatype.com/artifact/com.offer18/android-sdk>" %}

***

### Разрешения

Убедитесь, что вашему приложению предоставлены приведённые ниже разрешения

```xml
<uses-permission android:name="android.permission.INTERNET"/>
```

***

### Инициализация SDK

Импорт `Offer18` Класс из `com.offer18.sdk` пакета

```java
import com.offer18.sdk.Offer18;
```

Чтобы инициализировать SDK, вставьте приведённый фрагмент кода в код вашего приложения.

{% code fullWidth="false" %}

```java
Offer18.init(getApplicationBaseContext(), "{DOMAIN}", "{ACCOUNT_ID}","tid_key_in_referrer_url");
```

{% endcode %}

{% hint style="info" %}

* Замените `{DOMAIN}` на ваш домен для отслеживания.&#x20;
* Замените `{ACCOUNT_ID}` на ваш идентификатор аккаунта.
* Замените **tid\_key\_in\_referrer\_url** На ваш собственный ключ параметра для tid
  {% endhint %}

***

### Отслеживать конверсии

Импорт `Offer18` Класс из `com.offer18.sdk` пакета

```java
import com.offer18.sdk.Offer18;
```

Чтобы активировать отслеживание конверсий с помощью Android SDK Offer18, вам нужно вставить конкретный фрагмент кода на страницу успешного оформления заказа (страницу благодарности) вашего приложения.

```java
Map<String, String> args = new HashMap<>();  
args.put("o", ""); // 0000000 (ID оффера)
args.put("tid", "");  // x-xxxx-xxxxxx-xxxxxx (ID клика)
args.put("event", ""); // install
args.put("adv_sub1", ""); 
args.put("adv_sub2", "");
args.put("adv_sub3", "");
args.put("adv_sub4", "");
args.put("adv_sub5", "");
args.put("coupon", "");
args.put("sale", "");
args.put("payout", "");
Offer18.trackConversion(args);
```

***

### Отслеживание конверсии (автоматически)

Импорт `Offer18` Класс из `com.offer18.sdk` пакета

```java
import com.offer18.sdk.Offer18;
```

Если вы предпочитаете не извлекать данные Referrer для получения ID клика, вы можете использовать ключ Click ID Offer18 в конфигурации.

#### Инициализировать SDK&#x20;

Чтобы инициализировать SDK, вставьте приведённый фрагмент кода в код вашего приложения.&#x20;

```java
Offer18.init(getApplicationBaseContext(), "{DOMAIN}", "{ACCOUNT_ID}","tid_key_in_referrer_url");
```

#### Завершить конверсию

```java
Map<String, String> args = new HashMap<>();  
args.put("o", ""); // Offer ID  
args.put("tid", "{REFERRER_TID}"); // Автозаполнение TID
args.put("event", ""); // install
args.put("adv_sub1", "");
args.put("adv_sub2", "");
args.put("adv_sub3", "");
args.put("adv_sub4", "");
args.put("adv_sub5", "");
args.put("coupon", "");
args.put("sale", "");
args.put("payout", "");
Offer18.trackConversion(args);
```

{% hint style="info" %}
Символ "**{REFERRER\_TID}**" автоматически получит ID клика из URL реферера и включит его в trackConversion.

* TID будет определён автоматически на основе ключа, переданного при инициализации SDK
* Замена произойдёт, когда микрос **{REFERRER\_TID}** обнаружен
* **trackConversion** не сработает, если
  * Нет ручного **tid** предоставлено,&#x20;
  * Нет **tid** обнаружено с помощью URL реферера&#x20;
  * **tid** обнаружено, но макрос не предоставлен&#x20;
  * Макрос предоставлен, но нет **tid** или пустой **tid** обнаружено из URL реферера
    {% endhint %}


---

# 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://knowledgebase.offer18.com/ru/set/sdk/android-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.
