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.
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.
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.
Metrics
For a time-series view of these metrics per placement, see Remote UI analytics.