Analytics Live is a powerful enhancement suite for Analytics-Swift that enables dynamic analytics capabilities without app updates. Deploy JavaScript transformations, capture automated user activity signals, and filter events on-device while maintaining enterprise-grade security and performance.
Write and deploy JavaScript-based transformation plugins directly to your mobile app. Update analytics logic instantly via server-side updates without waiting for app releases.
Automated user activity tracking through a sophisticated signal system. Captures user interactions, navigation, and network activity, then transforms them into meaningful analytics events using JavaScript.
Brings Segment's server-side filtering capability directly to your mobile app. Filter events on-device using the same JavaScript logic as your server-side implementation.
β Full Destination Filters Guide
- Analytics-Swift version 1.8.0 or higher
- macOS 10.15+ or iOS 13+
Add Analytics Live as a dependency in your Package.swift
file:
dependencies: [
.package(url: "https://github.com/segmentio/analytics-swift.git", from: "1.8.0"),
.package(url: "https://github.com/segment-integrations/analytics-swift-live.git", from: "3.2.0")
]
- In Xcode, select File β Add Packages...
- Enter the package URL:
https://github.com/segment-integrations/analytics-swift-live.git
- Click Add Package
Import Analytics Live in your project:
import AnalyticsLive
Transform analytics events with JavaScript:
// Optional: provide fallback JavaScript file
let fallbackURL = Bundle.main.url(forResource: "fallback", withExtension: "js")
let livePlugins = LivePlugins(fallbackFileURL: fallbackURL)
Analytics.main.add(plugin: livePlugins)
β See full plugin development guide
Capture and process user activity automatically:
// Add LivePlugins first (required when using Signals)
let livePlugins = LivePlugins()
Analytics.main.add(plugin: livePlugins)
let config = SignalsConfiguration(
writeKey: "<YOUR WRITE KEY>",
useSwiftUIAutoSignal: true,
useNetworkAutoSignal: true
)
Signals.shared.useConfiguration(config)
Analytics.main.add(plugin: Signals.shared)
β See full signals configuration and usage
Filter events on-device using your Segment workspace rules:
let filters = DestinationFilters()
Analytics.main.add(plugin: filters)
β See full destination filters setup
Using all Analytics Live features together:
import AnalyticsLive
// 1. Set up LivePlugins first (required if using with Signals)
let fallbackURL = Bundle.main.url(forResource: "fallback", withExtension: "js")
let livePlugins = LivePlugins(fallbackFileURL: fallbackURL)
Analytics.main.add(plugin: livePlugins)
// 2. Configure and add Signals
let signalsConfig = SignalsConfiguration(writeKey: "<YOUR WRITE KEY>")
Signals.shared.useConfiguration(signalsConfig)
Analytics.main.add(plugin: Signals.shared)
// 3. Add Destination Filters
let filters = DestinationFilters()
Analytics.main.add(plugin: filters)
- LivePlugins Guide - JavaScript plugin development and API reference
- Signals Guide - Automated activity tracking and signal processing
- Destination Filters Guide - On-device event filtering
Analytics Live features may require enablement on your Segment workspace. Contact your Segment representative for access to LivePlugins, Signals, or Destination Filters.