# Октябрь '26. Обновление Android и iOS SDK до 1.1.0

В Android и iOS SDK вышла версия **1.1.0**. Добавили подготовку контента перед показом и программное закрытие in-app. Исправили идентификацию пользователя, повторные показы кампаний и оформление кнопок.

## Что добавили

- **`inAppPreparation`** — асинхронный обработчик перед показом in-app. Приложение может дождаться своего API, изменить контент или пропустить показ. По умолчанию таймаут — 5 секунд.
- **`filteringProducts`** — фильтрация товаров с сохранением порядка, tracking и метаданных исходных слотов.
- **`dismissInApp`** — закрытие in-app по `contentId`. Callback сообщает о завершении закрытия, после чего приложение может выполнить переход на другой экран.

## Исправления

- Пользователь из **`setUser()`** теперь учитывается и в запросах контента: по selector, группе и ID кампании, в inline-блоках и при автопоказе.
- SDK предотвращает повторный автопоказ одной кампании во время подготовки, показа и ожидания подтверждения видимости. После смены пользователя или блокировки показа устаревший результат не отображается.
- При временной сетевой ошибке SDK повторяет отправку **visible impression**. Постоянной офлайн-очереди событий в native SDK нет.
- Исправлены цвета `#RRGGBB` и `#RRGGBBAA`, обводки и состояния кнопок. В iOS действие `follow_url` без типа обрабатывается как `browser`.

## Для чего использовать

**Запросить отзыв о покупке.** Перед показом сообщения приложение проверяет товары через своё API и убирает те, о которых пользователь уже оставил отзыв. Если подходящих товаров нет, сообщение пропускается. [Пример подключения](/Integration/SDK/reviews.md).

**Проверить доступность предложения.** Приложение может уточнить на своём сервере, доступен ли пользователю промокод или бонус, и только затем показать in-app. Так сообщение учитывает условия предложения на момент показа.

**Открыть экран приложения из сообщения.** По нажатию на свою товарную карточку приложение сначала закрывает in-app через `dismissInApp`, затем открывает товар или оформление заказа. Переход выполняется после закрытия сообщения.

## Как обновить

Установка и быстрый старт: [Android](/Integration/SDK/android/overview.md#установка) и [iOS](/Integration/SDK/ios/overview.md#установка).

Сигнатуры новых методов и параметры: [Android API](/Integration/SDK/android/api_reference.md#подготовка-и-закрытие-in-app) и [iOS API](/Integration/SDK/ios/api_reference.md#подготовка-и-закрытие-in-app).
