Skip to main content
Use this checklist before you submit a build or send production traffic to PNLight.

SDK

  • The app initializes the SDK with the production project SDK token.
  • Development and staging builds do not send data to the production project unless intended.
  • The app can read the PNLight user ID.
  • Attribution data is sent after the attribution provider returns it.

App Store

  • Integration → AppStore contains the correct issuer ID and shared secret.
  • The .p8 in-app purchase key is uploaded without renaming the file.
  • App Store Server Notifications use the project notification URL shown in Integration → AppStore.
  • The notification URL is saved in both production and sandbox fields in App Store Connect.
  • App Store Server Notifications use version 2.

Remote UI

  • Each placement requested by the app exists in Remote UI and has a stable ID.
  • Required locales have valid JSON configs.
  • The placement is enabled.
  • Test users can render the screen in the app.
  • Button actions are handled by app code.

Remote Config

  • Each key read by the app exists in Remote Config with the expected type.
  • The app provides local fallbacks for Remote Config values needed at startup or offline.
  • The current draft is published before release.
  • Targeted overrides match the intended campaigns, devices, countries, or SDK versions.

Dashboard

  • Installs appear in Analytics.
  • Purchases appear on customer profiles.
  • Ad networks and campaigns are configured if you use paid acquisition.
  • Test users are marked correctly if you rely on debug-only Remote UI or QA traffic.
  • Team members have the right access.
Keep this checklist with your release process. Problems found after release often come from the wrong project token, missing App Store settings, or a disabled Remote UI placement.