Выбор Remote UI
Приложение запрашивает плейсмент с локалью и идентификатором пользователя. PNLight возвращает конфигурацию из соответствующего плейсмента дашборда, если он включён и подходящая конфигурация доступна. Создайте в разделе Remote UI каждый плейсмент, который может запросить приложение. При новом запросе к PNLight, например с параметромignoreCache, UI не возвращается, если плейсмент отсутствует, отключён, удалён или для него нет подходящей конфигурации локали.
Дашборд отслеживает:
- Запросы: пользователи, запросившие плейсмент.
- Показы: пользователи, получившие конфигурацию UI, которую можно было показать.
{{monthlyProductId}}.
Отображение плейсмента
RemoteUiView вызывает getUIConfig внутри. При первом запуске приложения с атрибуцией AppsFlyer подождите 4–5 секунд после инициализации AppsFlyer перед показом плейсмента, чтобы данные конверсии успели поступить. Если attributionRequired равно true, SDK также ожидает атрибуцию внутри перед запросом конфигурации.
Компоненты Remote UI
В разделе Компоненты Remote UI описано, как добавлять компоненты PNLight в конфигурацию и настраивать их свойства.Обработка действий
Действия Remote UI передаются приложению. Используйте идентификаторы действий, пути или параметры запроса, чтобы определить поведение приложения. Разные плейсменты могут возвращать разные действия, поэтому обрабатывайте их явно. Распространённые действия:- Начать покупку.
- Вернуть пользователя на главный экран приложения после успешной подписки.
- Закрыть экран.
- Открыть другой экран приложения.
- Отследить взаимодействие с продуктом.
Получение конфигураций вручную
ИспользуйтеgetUIConfig, если нужно самостоятельно получить конфигурацию плейсмента. При первом запуске приложения, когда требуется атрибуция, вызывайте его после отправки атрибуции и подождите 4–5 секунд после инициализации AppsFlyer перед запросом. SDK всё равно ожидает атрибуцию внутри, если attributionRequired равно true.
Работа кеша конфигураций
По умолчанию конфигурации Remote UI сначала загружаются из кеша. Если кешированная конфигурация существует, SDK может сразу вернуть её и обновить в фоновом режиме с помощью запроса ETag. Благодаря этому повторные показы остаются быстрыми, а изменения из дашборда продолжают поступать. ИспользуйтеignoreCache, когда приложение должно дождаться последнего ответа сервера, например во время QA или после изменения состояния пользователя, которое должно повлиять на таргетинг.
Обработка отсутствующих конфигураций и ошибок
При новом запросе к PNLight значениеnull или пустая конфигурация означает, что PNLight не вернул UI для плейсмента. Это может произойти, если плейсмента нет в разделе Remote UI, он отключён, условия таргетинга не совпали, правило однократного показа запретило показ, защита от записи экрана заблокировала пользователя, нет конфигурации для подходящей локали или не удалось обработать заполнитель времени выполнения.
Оболочки React Native и Flutter сообщают об ошибках загрузки отдельно от отсутствующего UI. Используйте onError в RemoteUiView или обработайте ошибки getUIConfig при ручном запросе.
Приложения Swift при ручном запросе могут использовать getUIConfigResult, чтобы различать все результаты: