Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: deprecate defaultTracking and add autocapture #204

Conversation

PouriaAmini
Copy link
Contributor

Summary

This PR deprecates the defaultTracking of Configuration of the SDK and adds autocapture as a replacement.

Checklist

  • Does your PR title have the correct title format?
  • Does your PR have a breaking change?: no

Copy link
Collaborator

@Mercy811 Mercy811 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Pouria for the PR. It looks good to me to use a convenience initializer with config.defaultTracking to keep supporting the interface so that existing customers are not affected, while new customers can use the updated initializer with config.autocapture directly.

Sources/Amplitude/DefaultTrackingOptions.swift Outdated Show resolved Hide resolved
Sources/Amplitude/DefaultTrackingOptions.swift Outdated Show resolved Hide resolved
Sources/Amplitude/ObjC/ObjCAutocaptureOptions.swift Outdated Show resolved Hide resolved
Sources/Amplitude/Configuration.swift Outdated Show resolved Hide resolved
Comment on lines 35 to 52
public static func sessions() -> ObjCAutocaptureOptions {
return ObjCAutocaptureOptions(options: .sessions)
}

@objc
public static func appLifecycles() -> ObjCAutocaptureOptions {
return ObjCAutocaptureOptions(options: .appLifecycles)
}

@objc
public static func screenViews() -> ObjCAutocaptureOptions {
return ObjCAutocaptureOptions(options: .screenViews)
}

@objc
public static func elementInteractions() -> ObjCAutocaptureOptions {
return ObjCAutocaptureOptions(options: .elementInteractions)
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any reason to have these as functions vs static lets?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, should be fixed in cb49254.

@PouriaAmini PouriaAmini merged commit 8f6703e into amplitude:feature-autocapture Aug 2, 2024
3 checks passed
PouriaAmini added a commit that referenced this pull request Aug 8, 2024
* feat: add user interactions capture (#190)

* Fix indentation issue

* feat: add user interactions capture

* fix: fix typo

* fix: remove support for UITextField action message capture

* refactor: add dispatch once for method swizzling

* fix: remove support for UISlider to reduce noise

* feat: add support for UITextField and UISlider event capture

* style: remove return keyword for one line functions

* fix: fix typo

* feat: add support for text field gained/lost focus

* fix: fix lint

* fix: remove tag as textfield title

* refactor: refactor title and shouldTrack

* refactor: add a protocol to track control elements

* feat: add support for uitextview autocapture (#195)

* Fix indentation issue

* feat: add user interactions capture

* fix: fix typo

* fix: remove support for UITextField action message capture

* refactor: add dispatch once for method swizzling

* fix: remove support for UISlider to reduce noise

* feat: add support for UITextField and UISlider event capture

* style: remove return keyword for one line functions

* fix: fix typo

* feat: add support for text field gained/lost focus

* fix: fix lint

* fix: remove tag as textfield title

* refactor: refactor title and shouldTrack

* refactor: add a protocol to track control elements

* refactor: guard on action name

* feat: add support for uitextview capture

* fix: disable action method tracking support for UITextView

* fix: fix lint issue

* style: remove amp_ prefix from objc methods

* feat: add support for gesture recognizer autocapture (#196)

* Fix indentation issue

* feat: add user interactions capture

* fix: fix typo

* fix: remove support for UITextField action message capture

* refactor: add dispatch once for method swizzling

* fix: remove support for UISlider to reduce noise

* feat: add support for UITextField and UISlider event capture

* style: remove return keyword for one line functions

* fix: fix typo

* feat: add support for text field gained/lost focus

* fix: fix lint

* fix: remove tag as textfield title

* refactor: refactor title and shouldTrack

* refactor: add a protocol to track control elements

* refactor: guard on action name

* feat: add support for uitextview capture

* fix: disable action method tracking support for UITextView

* fix: fix lint issue

* style: remove amp_ prefix from objc methods

* feat: add support for gesture recognizers autocapture

* fix: fix lint issue

* fix: exclude unsupported gestures in tvos

* fix: track touchupinside and valuechanged only (#199)

* fix: just track touchupinside and valuechanged for some elements

* fix: fix tvos issue

* feat: capture control events for autocapture (#202)

* fix: just track touchupinside and valuechanged for some elements

* fix: fix tvos issue

* feat: capture control events

* fix: remove row selected event

* fix: track touchUpInside for any element (#203)

* fix: just track touchupinside and valuechanged for some elements

* fix: fix tvos issue

* feat: capture control events

* fix: remove row selected event

* fix: track any touchUpInside

* fix: capture image name as a fallback for buttons title

* fix: deprecate defaultTracking and add autocapture (#204)

* fix: deprecate defaultTracking and add autocapture

* fix: fix schema for the new test

* fix: fix typo

* fix: fix typo

* fix: support optionset for autocapture options

* fix: fix autocaptureoptions test

* fix: fix failing test

* fix: simplified the logic to deprecate defaultTracking

* style: make autocapture options for objc as properties

* fix: disable swiftui support for autocapture (#206)

* fix: disable swiftui support for autocapture

* fix: disable support for swiftui gesture recognizers autocapture

* fix: fix typo

* fix: filter scrolls for scrollable views

* fix: imporve support for swiftui

* fix: track screen name autocapture (#207)

* fix: change element viewController to screenName

* fix: remove title since it's already captured by screenName

* fix: track changes to defaultTracking after initialization (#208)

* fix: track changes to defaultTracking after initialization

* fix: replace defaultTracking with autocapture if changed

* fix: fix typo

* fix: fix nit

* style: rename parameter name
github-actions bot pushed a commit that referenced this pull request Aug 8, 2024
# [1.8.0](v1.7.0...v1.8.0) (2024-08-08)

### Features

* Feature Autocapture ([#209](#209)) ([4ab5673](4ab5673)), closes [#190](#190) [#195](#195) [#196](#196) [#199](#199) [#202](#202) [#203](#203) [#204](#204) [#206](#206) [#207](#207) [#208](#208)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants