Configuration
Customize PipeKit to fit your app's needs.
Basic Configuration
Initialize PipeKit in your app entry point — the AppDelegate on iOS, or the Application subclass on Android:
import PipeKitfunc application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {PipeKit.configure(apiKey: "pk_live_your_api_key",config: PipeKitConfig(enableSessionReplay: true,enableFlows: true,captureNetwork: true,captureConsoleLogs: true))return true}
Configuration Options
These options are available on PipeKitConfig on both platforms (types shown as iOS / Android):
enableSessionReplayBool / BooleanEnable session replay (video + logs + network capture).
Default: true
enableFlowsBool / BooleanEnable dynamic flow composition and remote sync.
Default: true
captureNetworkBool / BooleanCapture network requests including URL, method, status code, and timing.
Default: true
captureConsoleLogsBool / BooleanCapture console / log output (print and os_log on iOS, Logcat on Android).
Default: true
Uploading Sessions
Sessions are captured locally and can be uploaded to the server. Inspect saved sessions and trigger an upload manually:
// List sessions captured on the devicelet sessions = PipeKit.getSavedSessions()// Upload a specific sessionPipeKit.uploadSession(sessionId: "session_id") { result inswitch result {case .success(let response):print("Uploaded: \(response.sessionId)")case .failure(let error):print("Failed: \(error)")}}
SwiftUI Configuration
For SwiftUI apps, initialize in your App struct:
import SwiftUIimport PipeKit@mainstruct YourApp: App {init() {PipeKit.configure(apiKey: "pk_live_your_api_key")PipeKit.startSession()}var body: some Scene {WindowGroup {ContentView().trackScreen("Home")}}}
Environment-based Configuration
Use different settings for development and production:
#if DEBUGlet apiKey = "pk_test_development_key"#elselet apiKey = "pk_live_production_key"#endifPipeKit.configure(apiKey: apiKey)
Tip: Use separate API keys
Create separate API keys for development and production in your dashboard. This keeps test sessions separate from real user data.
Next: Recording Sessions
Learn how to manually start/stop recording and control session behavior.
Continue to Recording →