Skip to main content
The Integration page shows whether your app is successfully talking to PNLight. Use it to copy the project SDK token, confirm each signal is arriving after integration, manage App Store integration settings, add test devices, and debug analytics that looks wrong. Open it from the project sidebar under Integration.

Integration status

The header card summarizes the connection at a glance.
StateMeaning
ConnectedThe project received an SDK message in the last 48 hours.
Needs attentionThe most recent SDK message is older than 48 hours.
Not connectedThe project has never received an SDK message.
The card also shows the SDK version and platform (iOS, React Native, Flutter, or Swift Package Manager) reported by the most recent install, plus the timestamp of the last observed message across all signals.
If the status is Not connected after you ship, double-check that the build uses the project SDK token shown on this page.

SDK token

The SDK token connects app SDK calls to this PNLight project.
1

Open the project

Select the project in the dashboard.
2

Open Integration

In the project sidebar, open Integration.
3

Copy the SDK token

Copy the token shown in the header card.
Pass the token to the SDK initialization method.
await PNLightSDK.shared.initialize(apiKey: "pnlight_sdk_token")
await initialize("pnlight_sdk_token");
await PNLightSDK.initialize('pnlight_sdk_token');

Integration guide

Shortcut buttons link out to the per-platform setup pages:

App Store integration

The Integration page includes the AppStore section for iOS purchase and subscription reporting. Keep these settings aligned with the app that uses the SDK token. Use this section to:
  • Copy the App Store Server Notifications URL.
  • Save the App Store Connect issuer ID.
  • Save the App Store shared secret.
  • Upload the .p8 in-app purchase key.
After saving the credentials, paste the PNLight notification URL into both the production and sandbox server notification fields in App Store Connect. See App Store integration for the full iOS setup.

Test devices

Add test device IDFAs or SDK user IDs when you need a device to always receive Remote UI in test mode. Test devices can receive Remote UI even when normal targeting or capture protection would block it. Use test devices for QA builds, local validation, and release checks. You can also add or remove a test user from an individual customer profile when you want to debug one SDK user ID. Disable or remove entries when testing is complete.

Signals

A stepper lists each signal the SDK can send. Each row shows whether PNLight has received that signal, how many messages have arrived, and when the latest one was recorded.
SignalWhat it means
InstallsThe app called the install/initialization endpoint.
AttributionsThe app forwarded attribution data from a provider such as AppsFlyer.
EventsThe app sent a custom in-app event.
Remote UIThe app requested a Remote UI placement and recorded an impression.
A signal is flagged Needs attention if its latest message is older than 48 hours, even when other signals are healthy. Use this to spot integrations that regressed after a release — for example, attribution stops flowing while installs keep arriving.

Common checks

If a signal stays Not received after release:
  1. Confirm the app build is using this project’s SDK token.
  2. Make sure the relevant SDK call runs on a real device after SDK initialization.
  3. For attribution, verify the attribution provider returns data and the app forwards it to the SDK.
  4. For Remote UI, confirm a placement exists in Remote UI placements and the app requests it.
For deeper debugging, see SDK setup issues.