> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pnlight.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Плейсменты Remote UI

> Создавайте плейсменты PNLight Remote UI, настраивайте варианты для локалей, переменные времени выполнения, правила показа и внешний вид удаленных экранов приложения.

Плейсмент Remote UI — это именованное место в приложении, для которого PNLight может вернуть удаленный экран.

Плейсмент в разделе **Remote UI** служит источником истины для запросов SDK. При новом запросе PNLight не возвращает интерфейс, если плейсмент не существует, отключен или не содержит подходящей конфигурации локали.

## Создание и изменение плейсмента

<Steps>
  <Step title="Откройте Remote UI">Выберите проект и откройте **Remote UI**.</Step>
  <Step title="Выберите плейсмент">Откройте существующий плейсмент или создайте новый со стабильным ID, например `paywall`.</Step>
  <Step title="Назовите плейсмент">Укажите понятное название для пользователей панели управления.</Step>
  <Step title="Добавьте конфигурации локалей">Добавьте конфигурации JSON для локалей приложения, например `en` или `en-US`.</Step>
  <Step title="Добавьте переменные времени выполнения">Задайте повторно используемые значения, если один JSON должен содержать строки или идентификаторы продуктов конкретного проекта.</Step>
  <Step title="Включите плейсмент">Включите плейсмент, когда он готов принимать трафик приложения.</Step>
</Steps>

## Параметры плейсмента

| Параметр                | Назначение                                                         |
| ----------------------- | ------------------------------------------------------------------ |
| Enabled                 | Разрешает плейсменту возвращать конфигурации в SDK.                |
| Debug                   | Позволяет тестировать плейсмент без обычных рабочих правил показа. |
| Show only once per user | Запрещает повторный показ плейсмента одному пользователю.          |
| Protection mode         | Управляет безопасным отображением и обработкой захвата экрана.     |
| Default locale          | Резервная локаль, если для запрошенной локали нет конфигурации.    |

## Предпросмотр и проверка конфигурации

Перед включением плейсмента используйте предпросмотр в редакторе.

* Выберите локаль и измените ее JSON-конфигурацию.
* Проверьте предпросмотр рядом с редактором.
* Переключайте пресеты устройств, чтобы проверить распространенные размеры iPhone.
* Проверьте обратные вызовы отрисовки, нажатий и пользовательских действий в журнале событий предпросмотра.
* Исправьте сообщения проверки перед сохранением.

Предпросмотр помогает проверить конфигурацию на панели управления. Перед релизом обязательно протестируйте плейсмент в приложении.

## Переменные времени выполнения

Они позволяют использовать одну JSON-конфигурацию, пока PNLight подставляет значения перед ее получением SDK. Вставьте токен вида `{{key}}` в любое строковое значение JSON.

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

| Источник | Назначение                                                                                         |
| -------- | -------------------------------------------------------------------------------------------------- |
| Literal  | Заменяет токен сохраненной строкой.                                                                |
| Product  | Заменяет токен идентификатором продукта App Store из раздела [«Продукты»](/ru/dashboard/products). |

Например, создайте переменную продукта с ключом `monthlyProductId`, а затем используйте `{{monthlyProductId}}` в параметре действия кнопки.

<Warning>
  Если значение переменной определить невозможно, PNLight не возвращает эту конфигурацию в SDK. Убедитесь, что каждому токену соответствует переменная, а переменные продуктов указывают на существующие продукты.
</Warning>

### Режимы защиты

| Режим                          | Назначение                                                                                                     |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------- |
| Off                            | Не применять защиту Remote UI от захвата экрана.                                                               |
| Secure only                    | Отображать плейсмент в безопасном режиме, если обертка SDK его поддерживает.                                   |
| Secure and block after capture | Отображать в безопасном режиме и больше не возвращать плейсмент пользователю после обнаружения захвата экрана. |

## Условия таргетинга

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

Доступные поля:

* Рекламная кампания.
* Семейство устройств.
* Модель устройства.
* Версия ОС.
* Страна по IP.
* Страна магазина.
* Версия SDK.

Каждое условие может включать или исключать значения. Числовые поля и версии также поддерживают сравнение «больше или равно» и «меньше или равно».

<Tip>
  Используйте **Debug enabled** или тестовое устройство, чтобы проверить плейсмент до подготовки рабочих условий таргетинга.
</Tip>

## Метрики

| Метрика  | Значение                                                            |
| -------- | ------------------------------------------------------------------- |
| Requests | Пользователи, запросившие плейсмент.                                |
| Shown    | Пользователи, получившие конфигурацию, которую можно было показать. |

Динамику этих метрик для каждого плейсмента смотрите в разделе [«Аналитика Remote UI»](/ru/dashboard/analytics#аналитика-remote-ui).

<Tip>Сохраняйте ID плейсментов стабильными. Для изменения ID потребуется изменить код приложения.</Tip>

<Warning>После удаления плейсмента новые запросы SDK перестанут получать для него интерфейс. Чтобы временно приостановить плейсмент без удаления настроек, отключите его.</Warning>
