Skip to main content

Configuration

SunglassesCore.create(config)​

OptionTypeDefaultDescription
adaptersIAnalyticsAdapter[]requiredOutput destinations
storageIStorageAdapterrequiredLocal persistence
defaultOptInbooleanfalseStart opted in or out
allowedPropertiesstring[]—Allowlist for event properties
deniedPropertiesstring[]—Blocklist for event properties
anonymizeUserIdbooleanfalseSHA-256 hash distinctId
respectDoNotTrackbooleantrueAuto opt-out on GPC/DNT (web)
flushIntervalnumber30000Auto-flush interval (ms)
maxQueueSizenumber500Max events in queue
maxBatchSizenumber50Events per adapter call
platform'web' | 'react-native''web'Platform label
appNamestring—App name → context.app.name
appVersionstring—App version → context.app.version
appBuildstring—Build number → context.app.build
appVariantstring—App variant → context.app.variant
appUpdateAppUpdateInfo—OTA info → context.app.update
environmentstring—Deployment environment
featuresstring[]—Enabled features → context.features
entitlementsstring[]—User entitlements → context.entitlements
debugbooleanfalseVerbose console logging
disabledbooleanfalseHard-disable all tracking
middlewareIMiddleware[][]Custom middleware chain
consentPolicyVersionstring—Reset consent when policy changes
consentExpiryMsnumber—Reset consent after N ms
enableSessionTrackingbooleanfalseSession IDs + $session_start
sessionIdleTimeoutMsnumber1800000Session idle timeout (30 min)
enableEventCountingbooleanfalseEvent frequency counters
enableLocalArchivebooleanfalsePermanent local event copy
cleanupAfterFlushCleanupConfig—Prune remote data after flush

CaptureOptions​

Third argument to capture():

OptionTypeDescription
timestampstringISO-8601 back-date for offline events
messageIdstringServer-side deduplication UUID

CleanupConfig​

OptionTypeDescription
maxAgeMsnumberRemove events older than N ms
maxEventsPerIdentitynumberMax events per user in remote store