Created
March 21, 2022 15:11
-
-
Save danhalliday/40214bbe2f69d43cf5bbecddecdc46af to your computer and use it in GitHub Desktop.
Sound Amplifier V1 Analytics Configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// MARK: - Audio | |
extension Audio.InputDidChange: TrackedAction {} | |
extension Audio.OutputDidChange: TrackedAction {} | |
extension Audio.RecordingDidStop: TrackedAction {} | |
extension Audio.RecordingDidStart: TrackedAction {} | |
extension AudioRoutePicker.DidAppear: TrackedAction {} | |
extension AudioRoutePicker.DidDisappear: TrackedAction {} | |
// MARK: - Home Screen | |
extension HomeScreen.HelpButtonWasPressed: TrackedAction {} | |
extension HomeScreen.SidebarButtonWasPressed: TrackedAction {} | |
// MARK: - Status Bar | |
extension StatusBar.StopButtonWasPressed: TrackedAction {} | |
extension StatusBar.StartButtonWasPressed: TrackedAction {} | |
extension StatusBar.RoutePickerButtonWasPressed: TrackedAction { | |
static let trackedValues: TrackedValues = [ | |
"Audio.isRecording": .model(\Audio.isRecording), | |
"Audio.headphoneState": .model(\Audio.headphoneState) | |
] | |
} | |
// MARK: - Help | |
extension HelpScreen.DidAppear: TrackedAction {} | |
extension HelpScreen.DidDisappear: TrackedAction {} | |
extension HelpScreen.DismissButtonWasPressed: TrackedAction {} | |
extension HeadphoneSetupScreen.WiredButtonWasPressed: TrackedAction {} | |
extension HeadphoneSetupScreen.WirelessButtonWasPressed: TrackedAction {} | |
extension HeadphoneSetupScreen.SupportButtonWasPressed: TrackedAction {} | |
extension HeadphoneSetupScreen.SuccessMessageDidAppear: TrackedAction {} | |
// MARK: - Onboarding | |
extension OnboardingScreen.DidAppear: TrackedAction {} | |
extension OnboardingScreen.DidDisappear: TrackedAction {} | |
extension OnboardingScreen.WasDismissed: TrackedAction {} | |
extension OnboardingScreen.StepDidChange: TrackedAction { | |
static let trackedValues: TrackedValues = [ | |
"step": .action(\Self.step) | |
] | |
} | |
extension OnboardingScreen.NextButtonWasPressed: TrackedAction { | |
static let trackedValues: TrackedValues = [ | |
"step": .action(\Self.step) | |
] | |
} | |
// MARK: - Lifecycle | |
extension Lifecycle.AppDidLaunch: TrackedAction { | |
static let trackedValues: TrackedValues = [ | |
"Usage.launchCount": .model(\Usage.launchCount) | |
] | |
} | |
// MARK: - Feedback | |
extension Feedback.CheckUserSentiment: TrackedAction {} | |
extension Feedback.RequestAppStoreReview: TrackedAction {} | |
// MARK: - Debug | |
extension Debug.Toggle: TrackedAction { | |
static let trackedValues: TrackedValues = [ | |
"Debug.isEnabled": .model(\Debug.isEnabled) | |
] | |
} | |
extension DebugScreen.DidAppear: TrackedAction {} | |
extension DebugScreen.DidDisappear: TrackedAction {} | |
extension DebugScreen.WasDismissed: TrackedAction {} | |
// MARK: - Sidebar | |
extension Sidebar.DidShow: TrackedAction {} | |
extension Sidebar.DidHide: TrackedAction {} | |
extension Sidebar.HomeButtonWasPressed: TrackedAction {} | |
extension Sidebar.AboutButtonWasPressed: TrackedAction {} | |
extension Sidebar.SupportButtonWasPressed: TrackedAction {} | |
extension Sidebar.PrivacyButtonWasPressed: TrackedAction {} | |
extension Sidebar.DebugButtonWasPressed: TrackedAction {} | |
extension Sidebar.DismissButtonWasPressed: TrackedAction {} | |
// MARK: - Tooltips | |
extension Tooltips.Start: TrackedAction {} | |
// MARK: - Globals | |
let globalTrackedValues: TrackedValues = [ | |
"User.id": | |
.model(\User.id.uuidString), | |
"Usage.launchCount": | |
.model(\Usage.launchCount), | |
"Usage.firstLaunchTime": | |
.model(\Usage.firstLaunchTime), | |
"Usage.recordingStartCount": | |
.model(\Usage.recordingStartCount), | |
"Usage.onboardingCompletionLaunch": | |
.model(\Usage.onboardingCompletionLaunch), | |
"Theme.colorScheme": | |
.model(\Theme.colorScheme.id), | |
"Debug.isEnabled": | |
.model(\Debug.isEnabled) | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment