Configuration
Customize PipeKit to fit your app's needs.
Basic Configuration
Initialize PipeKit in your AppDelegate or app entry point:
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
enableSessionReplayBoolEnable session replay (video + logs + network capture).
Default: true
enableFlowsBoolEnable dynamic flow composition and remote sync.
Default: true
captureNetworkBoolCapture network requests including URL, method, status code, and timing.
Default: true
captureConsoleLogsBoolCapture print statements and os_log messages.
Default: true
Upload Configuration
Configure how and when sessions are uploaded to the server:
// Auto-upload is enabled by default after PipeKit.configure()// Sessions upload immediately when online, queue when offline// Disable auto-upload if you prefer manual controlPipeKit.autoUploadEnabled = false// Manual uploadPipeKit.uploadSession(sessionId: "session_id") { result inswitch result {case .success(let response):print("Uploaded: \(response.sessionId)")case .failure(let error):print("Failed: \(error)")}}// Upload all pending sessionsPipeKit.uploadAllSessions { results inlet succeeded = results.filter { if case .success = $0.1 { return true }; return false }print("\(succeeded.count)/\(results.count) uploaded")}
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 →