Skip to main content
A Remote UI placement is a named app location where PNLight can return remote screens. The placement in Remote UI is the source of truth for SDK requests. On a fresh fetch, if the app requests a placement that does not exist, is disabled, or has no usable locale config, PNLight returns no UI for that request.

Create or edit a placement

1

Open Remote UI

Select the project and open Remote UI.
2

Choose a placement

Open an existing placement or create one with a stable placement ID such as paywall.
3

Name the placement

Use a readable name that dashboard users can recognize.
4

Add locale configs

Add JSON configs for the locales your app requests, such as en or en-US.
5

Add runtime placeholders

Define reusable values when the same JSON should use project-specific strings or product IDs.
6

Enable the placement

Turn on the placement when it is ready for app traffic.

Placement controls

Preview and validate a config

Use the editor preview before you enable a placement.
  • Select a locale to edit its JSON config.
  • Review the live preview next to the editor.
  • Switch device presets to check common iPhone sizes.
  • Use the preview event log to confirm render, click, and custom action callbacks.
  • Fix validation messages before you save.
The preview is a dashboard validation tool. Always test the placement in your app before shipping a release.

Runtime placeholders

Runtime placeholders let you reuse one JSON config while PNLight fills values before the SDK receives it. Insert a token in any JSON string value with {{key}}. Placeholder keys must start with a letter. They can contain letters, numbers, and underscores. For example, define a product placeholder with the key monthlyProductId. Then use {{monthlyProductId}} in a button action parameter.
If a placement references a placeholder that cannot be resolved, PNLight does not return that config to the SDK. Check that every token has a matching placeholder and that product placeholders point to existing products.

Protection modes

Targeting conditions

Targeting conditions restrict a placement to matching users. Add conditions when a placement should appear only for specific campaigns, devices, countries, or SDK versions. Available fields:
  • Ad campaign.
  • Device family.
  • Device model name.
  • OS version.
  • IP country.
  • Store country.
  • SDK version.
Each condition can include or exclude values. Numeric or version-like fields can also use greater-than-or-equal and less-than-or-equal modes.
Use Debug enabled or a test device when you need to verify a placement before the targeting conditions are ready for production.

Metrics

For a time-series view of these metrics per placement, see Remote UI analytics.
Keep placement IDs stable. Changing a placement ID requires an app code change.
Deleting a placement stops fresh SDK requests for that placement from returning UI. Disable the placement when you want to pause it without removing its setup.