For the complete documentation index, see llms.txt. This page is also available as Markdown.

Debugging & installationId

Diagnostics for OnsideKit: the installationId publisher, SDK console logging, and the SSL-pinning debug switch.

installationId

Onside.installationId publishes the SDK’s installation identifier when available. Include it in support requests, but do not use it as an account identifier or assume every non-nil value uniquely identifies an installation.

static let installationId: AnyPublisher<String?, Never>

The publisher can emit nil while loading or on error. It can also emit the shared fallback marker "non-onside", which is not a unique identifier. Subscribe after initialization:

import Combine
import OnsideKit

var cancellables = Set<AnyCancellable>()

Onside.initialize()
Onside.installationId
    .compactMap { $0 }
    .sink { id in
        if id == "non-onside" {
            print("No unique Onside installation ID is available")
        } else {
            print("Onside installation id: \(id)")
        }
    }
    .store(in: &cancellables)

The SDK also generates a separate persistent local UUID for its network headers. This UUID is not exposed by Onside.installationId and does not require host-app configuration.

Console logging

OnsideKit prints diagnostic messages prefixed with [Onside]:. Watch for them during development:

  • Used before initialization — a warning that an API was called before Onside.initialize().

  • Event validation — warnings when an event name or parameter is truncated or dropped. See Building funnels with event tracking.

  • Local testing — confirmation that a .storekit file was loaded, or an error if it couldn't be parsed. See Local Testing.

Disabling SSL pinning (debug only)

To inspect SDK network traffic through a TLS-intercepting proxy (e.g. Charles or Proxyman), disable certificate pinning at initialization:

Last updated

Was this helpful?