Skip to content

Commit 5356338

Browse files
authored
feat: add reset() to plugin (#15)
* update analytics * clear sessionID on reset() * fix app open session logic
1 parent 7301ece commit 5356338

File tree

3 files changed

+26
-7
lines changed

3 files changed

+26
-7
lines changed

Example/BasicExample/BasicExample.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 13 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ let package = Package(
2222
.package(
2323
name: "Segment",
2424
url: "https://github.com/segmentio/analytics-swift.git",
25-
from: "1.4.1"
25+
from: "1.5.2"
2626
)
2727
],
2828
targets: [

Sources/SegmentAmplitude/AmplitudeSession.swift

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,27 +66,33 @@ public class AmplitudeSession: EventPlugin, iOSLifecycle {
6666
return event
6767
}
6868

69-
lastEventFiredTime = Date()
70-
7169
var result: T? = event
7270
switch result {
7371
case let r as IdentifyEvent:
7472
result = self.identify(event: r) as? T
73+
lastEventFiredTime = Date()
7574
case let r as TrackEvent:
7675
result = self.track(event: r) as? T
7776
case let r as ScreenEvent:
7877
result = self.screen(event: r) as? T
78+
lastEventFiredTime = Date()
7979
case let r as AliasEvent:
8080
result = self.alias(event: r) as? T
81+
lastEventFiredTime = Date()
8182
case let r as GroupEvent:
8283
result = self.group(event: r) as? T
84+
lastEventFiredTime = Date()
8385
default:
8486
break
8587
}
8688
return result
8789
}
8890

8991
public func track(event: TrackEvent) -> TrackEvent? {
92+
if event.event != "Application Opened" {
93+
lastEventFiredTime = Date()
94+
}
95+
9096
guard let returnEvent = insertSession(event: event) as? TrackEvent else {
9197
return nil
9298
}
@@ -121,6 +127,10 @@ public class AmplitudeSession: EventPlugin, iOSLifecycle {
121127
return returnEvent
122128
}
123129

130+
public func reset() {
131+
sessionID = nil
132+
}
133+
124134
public func applicationWillEnterForeground(application: UIApplication?) {
125135
if Date().timeIntervalSince(lastEventFiredTime) >= minSessionTime {
126136
sessionID = Date().timeIntervalSince1970

0 commit comments

Comments
 (0)