# Установка и настройка SDK

Версия релиза **1.7.7** | Дата релиза **20.10.2025**

{% hint style="info" %}
Минимальные требования:

* Используйте Android API level 22 (Android OS 5.1) и выше.
  {% endhint %}

## Демо-приложение

Используйте наше демо-приложение в качестве примера.

{% embed url="<https://github.com/YabbiSDKTeam/yabbi-android-demo>" %}

## Установка

### Общее описание процесса установки

Для установки Android SDK вам потребуется:

* Ознакомиться с демо-приложением
* Дополнить `settings.gradle` вашего проекта
* Дополнить `build.gradle` вашего проекта
* Синхронизировать `gradle` проекта
* Проверить корректность установки с помощью инициализации SDK с включенным режимом отладки

### Подготовьте Gradle

{% hint style="warning" %}
В Android 11 изменился способ запроса приложений и взаимодействия с другими приложениями, установленными пользователем на устройстве. По этой причине убедитесь, что вы используете версию Gradle, которая соответствует одной из перечисленных [здесь](https://developer.android.com/studio/releases/gradle-plugin#4-0-0).
{% endhint %}

1. Дополните файл `settings.gradle` необходимыми для установки SDK репозиториями.\
   Полный список репозиториев вам предоставит аккаунт-менеджер Yabbi.\
   \
   Посмотрите вашу версию Android Studio, и вставьте соответствующий код в `settings.gradle` в корне проекта. \
   \
   Пример подключения репозиториев в `settings.gradle`.

{% tabs %}
{% tab title="Начиная с Arctic Fox и выше" %}

```groovy
// project-level settings.gradle

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        // ... other repositories
        
        // подключение репозитория Yabbi SDK
        maven { url  "https://sdkpkg.sspnet.tech" }
        
        // подключение репозитория SDK рекламной сети IronSource
        maven { url "https://android-sdk.is.com" }
        
        // подключение репозитория SDK рекламной сети Mintegral
        maven { url  "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea" }
    }
}
```

{% endtab %}

{% tab title="Для версий до Arctic Fox" %}

```groovy
// project-level settings.gradle

allprojects {
    repositories {
        // ... other project repositories
        
        // подключение репозитория Yabbi SDK
        maven { url  "https://sdkpkg.sspnet.tech" }
        
        // подключение репозитория SDK рекламной сети IronSource
        maven { url "https://android-sdk.is.com" }
        
        // подключение репозитория SDK рекламной сети Mintegral
        maven { url  "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea" }
    }
}

```

{% endtab %}
{% endtabs %}

2. Дополните `build.gradle` необходимыми параметрами сборки для корректной установки SDK.

```groovy
// app-level build.gradle

android {
  // ... other settings
     
   defaultConfig {
     // ... other settings
       
     multiDexEnabled true // Enable multidex
   }
 
   compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
   }
}
```

3. В этом же файле добавьте зависимости для установки всех нужных адаптеров.\
   \
   Полный список зависимостей с актуальными номерами версий библиотек и адаптеров вам предоставит аккаунт-менеджер Yabbi.\
   \
   Пример зависимостей для сетей Yabbi, Applovin, IronSource, Yandex и Mintegral.

```groovy
dependencies {
    // ... другие зависимости
    
    // подключение зависимости Yabbi SDK
    implementation 'sspnet.tech:yabbi:1.7.7'
    
    // пподключение зависимости рекламной сети Applovin SDK
    implementation 'sspnet.tech.adapters:applovin:1.4.0'
    implementation 'com.applovin:applovin-sdk:13.0.0'
    
    // подключение зависимости рекламной сети IronSource SDK
    implementation 'sspnet.tech.adapters:ironsource:1.5.0'
    implementation 'com.ironsource.sdk:mediationsdk:8.3.0'
    
    // подключение зависимости рекламной сети Yandex SDK
    implementation 'sspnet.tech.adapters:yandex:1.5.1'
    implementation 'com.yandex.android:mobileads:7.1.0'
    
    // подключение зависимости рекламной сети Mintegral SDK
    implementation 'sspnet.tech.adapters:mintegral:1.5.0'
    implementation 'com.mbridge.msdk.oversea:reward:16.6.31'
    implementation 'com.mbridge.msdk.oversea:newinterstitial:16.6.31'
}
```

4. Сохраните файл и нажмите `Gradle Sync`.

### Конфигурация сетевой безопасности <a href="#konfiguraciya-setevoi-bezopasnosti" id="konfiguraciya-setevoi-bezopasnosti"></a>

Android 9.0 (API 28) по умолчанию блокирует http-трафик (не-HTTPS), что может препятствовать корректному отображению рекламы. Подробнее об этом [здесь](https://developer.android.com/training/articles/security-config).

Чтобы разрешить использование http-трафика, нужно добавить атрибут `usesCleartextTraffic` в файл `AndroidManifest.xml`:

```xml
<application
    ...
    android:usesCleartextTraffic="true">
    ...
</application>
```

### Обфускация кода

Если в вашем приложении включена обфускация кода, то добавьте следующий текст в конец файла `proguard-rules.pro`:

```processing
-keep class sspnet.tech.**.* { *; }
```

### Поддержка OAID <a href="#konfiguraciya-setevoi-bezopasnosti" id="konfiguraciya-setevoi-bezopasnosti"></a>

Для аналитики пользовательской активности SDK использует [GAID](https://support.google.com/googleplay/android-developer/answer/6048248?hl=en) — рекламный идентификатор Google.

Если вы хотите распостранять приложение на устройства Huawei без поддержки Google Mobile Services, то вам необходимо включить поддержку [OAID](https://developer.huawei.com/consumer/en/doc/HMSCore-Guides/oaid-0000001050783198) у себя в приложении.

1. Посмотрите вашу версию Android Studio, и вставьте соответствующий код в `settings.gradle` в корне проекта.&#x20;

{% tabs %}
{% tab title="Начиная с Arctic Fox и выше" %}

```groovy
// project-level settings.gradle

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        // ... other repositories
        
        // подключение репозитория Huawei
        maven { url 'https://developer.huawei.com/repo/' }
    }
}
```

{% endtab %}

{% tab title="Для версий до Arctic Fox" %}

```groovy
// project-level settings.gradle

allprojects {
    repositories {
        // ... other project repositories
        
        // подключение репозитория Huawei
        maven { url 'https://developer.huawei.com/repo/' }
    }
}

```

{% endtab %}
{% endtabs %}

2. Добавьте в `build.gradle` следующуе зависимости:

```groovy
// app-level build.gradle

dependencies {
    // ... other dependencies
    
   // подключение зависимости Huawei Mobile Services
   implementation 'com.huawei.hms:ads-identifier:3.4.62.300'
}
```

### Добавьте ключ Applovin SDK&#x20;

Если вы используете адаптер для Applovin, то добавьте следующий `<meta-data>` элемент в свой `AndroidManifest.xml` внутри `<application>` элемента:

```xml
<meta-data android:name="applovin.sdk.key"
           android:value="APPLOVIN_SDK_KEY"/>
```

Ваш `APPLOVIN_SDK_KEY` вы сможете скопировать в разделе "Keys" в [личном кабинете](https://dash.applovin.com/o/account?r=2#keys) Applovin.

### Проверка установки

Чтобы убедиться, что SDK установлена корректно, потребуется включить режим отладки и инициализировать SDK.

### Режим отладки

В режиме отладки SDK логирует ошибки и события. По умолчанию выключен.

Для включения режима отладки используйте метод `enableDebug`.

```java
Yabbi.enableDebug(true);
```

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

Используйте код ниже, чтобы инициализировать SDK в вашем проекте.

Ваш `publisher_id` вы сможете скопировать в разделе "Настройки" в [личном кабинете](https://publisher.yabbi.me) Yabbi.

```java
Yabbi.initialize("publisher_id", new InitializationListener() {
   @Override
   public void onInitializeSuccess() {
      // Вызывется когда SDK установлена корректно
   }

   @Override
    public void onInitializeFailed(AdException error) {
      // Вызывется когда при установке SDK произошла ошибка
      // С помощью AdException error можно получить подробную информацию об ошибке
    }
});
```

Если SDK установлена корректно, то вы увидите в консоли следующее сообщение.

```
SDK initialized(<номер версии Yabbi SDK>)
```

\
Готово! SDK установлена, можем переходить к [настройке рекламы](/yabbi-documentation/android-sdk/rabota-s-reklamoi.md).

Рекомендуем вам не отключать режим отладки до завершения работы с рекламой.

### Если SDK устанавливается некорректно

В случае возникновения ошибок рекомендуем очистить кеш `Gradle`.

<div data-full-width="false"><figure><img src="/files/Qr3KcSwjmmNvNLBzNty7" alt=""><figcaption><p>Очистка кеша Gradle в Android Studio на Mac OS</p></figcaption></figure></div>

Если это не помогло, попробуйте установить SDK в чистый проект. Если SDK установилась корректно, попробуйте отладить ошибки в вашем проекте.

Также рекомендуем взглянуть на установку и инициализацию в [демо-приложении](https://github.com/YabbiSDKTeam/yabbi-android-demo).

Если у вас не получается корректно установить SDK, и действия выше не привели к успешной инициализации — обратитесь в поддержку.

## Дополнительные действия для повышения дохода

### Сбор данных о геолокации

Для более эффективного работы таргетированной рекламы и повышения дохода вы можете собирать в приложении данные о точной и/или примерной геолокации пользователя, и передавать их в Yabbi SDK.

Разрешение на доступ к примерной геолокации `ACCESS_COARSE_LOCATION` уже включено в SDK при установке.

Если вы не хотите предоставлять примерную геолокацию пользователя:

1. Добавьте следующий код в `AndroidManifest.xml` вашего приложения:

```xml
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove" />
```

2. Обновите приложение в Google Play. В процессе публикации убедитесь, что в Google Play Console нет предупреждений о наличии работы с разрешением местоположения без упоминания в политике конфиденциальности приложения и/или без необходимости для функций приложения.

## Прочие настройки SDK

### Экран пользовательского согласия

Для соответствия требованиям магазина приложений и законов, регулирующих сбор, обработку и использование персональных данных пользователя, требуется получение его согласия на вышеуказанные действия.

Обычно получение согласия пользователя происходит на специальном экране при первом запуске приложения — consent-screen.

В Yabbi SDK реализован такой экран, вы можете добавить и настроить его с помощью библиотеки Consent Manager.

Подробнее о его установке и настройке вы можете узнать в соответствующем разделе.

{% content-ref url="/pages/aKZg8ZOZ4DjCq1tm6nWD" %}
[Экран пользовательского согласия](/yabbi-documentation/android-sdk/ekran-polzovatelskogo-soglasiya.md)
{% endcontent-ref %}


---

# 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://yabbi.gitbook.io/yabbi-documentation/android-sdk/ustanovka-i-nastroika-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.
