Skip to content

Tracking

WorkoutKit exposes event and property definitions through Tracking.

DocC symbol source is available at:

Tracking interface contract

Tracking is surfaced through WorkoutKitLogInterface:

swift
func trackEvent(_ event: Tracking.Event, properties: [Tracking.Property: String]?)
func log(_ message: String, context: [String: AnyHashable]?)

Use these callbacks to bridge WorkoutKit telemetry into your analytics and observability pipelines.

The current implementation uses an event name paired with an optional property map. This page documents the known event and property vocabulary exposed by the iOS SDK, but it does not yet provide a full event-to-property matrix.

Tracking.Event cases

Documented event cases in DocC include:

  • started
  • launched
  • sent
  • quit
  • next
  • sectionStarted
  • sectionDisplayed
  • sectionSkipped
  • exerciseListDisplayed
  • exerciseDetailDisplayed
  • promptDisplayed
  • promptAnswered
  • musicActivated
  • musicDeactivated
  • googleCastActivated
  • googleCastDeactivated
  • remoteClientActivated
  • remoteClientDeactivated

Tracking.Property cases

Documented property keys in DocC include:

  • exerciseId
  • exerciseName
  • musicTypes
  • nextAction
  • promptType
  • promptAnswerIdExtra
  • promptAnswerIdMax
  • promptAnswerIdQuartile
  • promptAnswerIdRecoList
  • promptAnswerIdSection
  • promptAnswerIdWeight
  • quitReason
  • restSection
  • sectionBlockId
  • sectionName
  • sectionType
  • startAction

Integration note

Persist the event name and property map together in your analytics schema to maintain a consistent event model across both iOS and Android SDK integrations. If your analytics contract depends on exact event/property combinations, validate them against the SDK version you integrate.