Skip to main content
Use this page when a Remote UI placement does not render or actions do not work.

Placement does not render

Check:
  • The app requests the same placement ID that exists in Remote UI.
  • The placement is enabled.
  • The requested locale has a config, or the placement has a default locale.
  • The config JSON is valid.
  • The user has not already seen a placement configured as Show only once per user.
  • The user matches the placement targeting conditions.
  • Capture protection has not blocked this user.

Requests increase but shown does not

This usually means PNLight received the request but did not return a displayable config. Common causes:
  • Placement disabled.
  • Missing locale config.
  • Attribution is required but not resolved yet.
  • Show-once rules suppress the placement for that user.
  • Targeting conditions do not match the user.
  • Capture protection blocks the user after capture is detected.

Config request fails

Recent SDK wrappers separate loading errors from “no UI for this placement”.
  • In Swift, use getUIConfigResult when you fetch configs manually.
  • In React Native and Flutter, handle onError on RemoteUiView.
  • During QA, pass ignoreCache when you need a fresh server response.

Actions do not work

Check your app action handler:
  • Handle the expected logId, path, or action value.
  • Read parameters defensively.
  • Provide a fallback for unknown actions.
Use debug mode or a test device while testing display rules. Turn debug mode off before production traffic unless your team intentionally needs it.