If a campaign launch fails to raise a paywall, these are potential error types which are returned via an optional callback provided by NamiCampaignManager.launch.

@objc enum LaunchCampaignError : Int {
    case DEFAULT_CAMPAIGN_NOT_FOUND = 0
    case LABELED_CAMPAIGN_NOT_FOUND = 1
    case CAMPAIGN_DATA_NOT_FOUND = 2
    case PAYWALL_ALREADY_DISPLAYED = 3
    case SDK_NOT_INITIALIZED = 4
}
enum class LaunchCampaignError : NamiError {
    SDK_NOT_INITIALIZED,
    DEFAULT_CAMPAIGN_NOT_FOUND,
    LABELED_CAMPAIGN_NOT_FOUND,
    PAYWALL_ALREADY_DISPLAYED,
    CAMPAIGN_DATA_NOT_FOUND
 }
enum LaunchCampaignError {
  SDK_NOT_INITIALIZED,
  DEFAULT_CAMPAIGN_NOT_FOUND,
  LABELED_CAMPAIGN_NOT_FOUND,
  PAYWALL_ALREADY_DISPLAYED,
  CAMPAIGN_DATA_NOT_FOUND
}
  • SDK_NOT_INITIALIZED - SDK must be initialized via [Nami.configure] before launching a campaign
  • DEFAULT_CAMPAIGN_NOT_FOUND - No live default campaign could be launched.
  • LABELED_CAMPAIGN_NOT_FOUND - No live campaign could be launched for the requested label.
  • PAYWALL_ALREADY_DISPLAYED - Cannot launch a campaign, because a paywall is currently on screen
  • CAMPAIGN_DATA_NOT_FOUND - No campaign found

See Campaign Troubleshooting for more info.