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

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

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

* iOS 13.0 и выше.
* Используйте Xcode 13 и выше.
  {% endhint %}

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

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

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

## Установка

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

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

* Ознакомиться с демо-приложением
* Дополнить `Podfile` вашего проекта
* Выполнить `pod install` в папке проекта
* Проверить корректность установки с помощью инициализации SDK с включенным режимом отладки

### Настройка Podfile

{% hint style="warning" %}
Минимально необходимая версия CocoaPods 1.10.0 или выше. Более подробную информацию об обновлении CocoaPods вы можете найти по [ссылке](https://guides.cocoapods.org/using/getting-started.html).
{% endhint %}

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

```ruby
platform :ios, "13.0"

target "Sample" do
    use_frameworks!
    
    # подключение зависимости Yabbi SDK
    pod "YabbiSDK", "1.7.5"
    
    # подключение зависимости рекламной сети Applovin SDK
    pod "SspnetApplovinAdapter", "1.4.0"
    
    # подключение зависимости рекламной сети IronSource SDK
    pod "SspnetIronSourceAdapter", "1.4.0"
    
    # подключение зависимости рекламной сети Yandex SDK
    pod "SspnetYandexAdapter", "1.4.0"
    
    # подключение зависимости рекламной сети Mintegral SDK
    pod "SspnetMintegralAdapter", "1.4.0"
end
```

2. Cохраните файл и нажмите и откройте терминал в папке проекта.
3. Выполните в  терминале команду `pod install` для установки зависимостей.

{% hint style="info" %}
Для обновления зависимостей используйте команду `pod update`.&#x20;
{% endhint %}

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

Если вы используете адаптер для Applovin, то добавьте в `Info.plist` следующий ключ:

```xml
<key>AppLovinSdkKey</key>
<string>APPLOVIN_SDK_KEY</string>
```

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

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

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

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

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

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

```swift
Yabbi.enableDebug(true)
```

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

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

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

```swift
Yabbi.initialize(publisherID: "publisher_id") { error in
    if let error {
        // Вызывется когда при установке SDK произошла ошибка
        // С помощью error: AdException можно получить подробную информацию об ошибке
    } else {
        // Вызывется когда SDK установлена корректно  
    }
}
```

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

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

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

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

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

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

Ниже представлена команда для очистки кеша

```bash
rm -rf "${HOME}/Library/Caches/CocoaPods"
rm -rf "`pwd`/Pods/"
pod update
```

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

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

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

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

### Установка Apple ID

Для более эффективного работы таргетированной рекламы и повышения дохода Yabbi SDK собирает и передаёт с данными о пользователе [App ID](https://developer.apple.com/help/account/manage-identifiers/register-an-app-id/) - уникальный числовой идентификатор приложения из Apple AppStore.

Он определяется автоматически, но в некоторых случаях Yabbi SDK не может его определить.

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

```
AppStore ID is nil. You must set AppStore ID manually.
```

В таком случае вам необходимо установить ID вручную.

Для установки Apple ID используйте метод `setCustomParams`

```swift
Yabbi.setCustomParams("appStoreAppID", "apple_id")
```

Замените `apple_id` на ваш App ID из кабинета разработчика AppStore. Вы можете найти его на странице приложения в [кабинете разработчика](https://appstoreconnect.apple.com/).

<figure><img src="/files/37yMBEOJoqYBRZjkBCLf" alt=""><figcaption><p>Расположение Apple ID в AppStore Connect</p></figcaption></figure>

### Рекламный идентификато Apple (IDFA)

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

Чтобы включить сбор IDFA, добавить в файл `Info.plist` описание для следующих разрешений:

`NSUserTrackingUsageDescription` - Разрешение для сбора рекламного идентификатора (Advertising Identifier IDFA).

Ниже представлен пример кода в файле `Info.plist`.

```xml
<key>NSUserTrackingUsageDescription</key>
<string>We need this permission for better ad targetting</string>
```

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

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

Чтобы включить сбор таких данных, добавить в файл `Info.plist` описание для следующих разрешения:

`NSLocationWhenInUseUsageDescription` - Разрешение для сбора геолокации пользователя.

Ниже представлен пример кода в файле `Info.plist`.

```xml
<key>NSLocationWhenInUseUsageDescription</key>
<string>We need this permission for better ad targetting</string>
```

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

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

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

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

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

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

{% content-ref url="/pages/mdaE5THcc9UgrSzASA2p" %}
[Экран пользовательского согласия](/yabbi-documentation/ios-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/ios-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.
