@@ -28,10 +28,6 @@ class macOSLifecycleEvents: PlatformPlugin, macOSLifecycle {
2828 // Make sure we aren't double calling application:didFinishLaunchingWithOptions
2929 // by resetting the check at the start
3030 _didFinishLaunching. set ( true )
31-
32- if analytics? . configuration. values. trackApplicationLifecycleEvents == false {
33- return
34- }
3531
3632 let previousVersion = UserDefaults . standard. string ( forKey: Self . versionKey)
3733 let previousBuild = UserDefaults . standard. string ( forKey: Self . buildKey)
@@ -40,64 +36,63 @@ class macOSLifecycleEvents: PlatformPlugin, macOSLifecycle {
4036 let currentBuild = Bundle . main. infoDictionary ? [ " CFBundleVersion " ] as? String
4137
4238 if previousBuild == nil {
43- analytics? . track ( name: " Application Installed " , properties: [
44- " version " : currentVersion ?? " " ,
45- " build " : currentBuild ?? " "
46- ] )
39+ if analytics? . configuration. values. trackedApplicationLifecycleEvents. contains ( . applicationInstalled) == true {
40+ analytics? . track ( name: " Application Installed " , properties: [
41+ " version " : currentVersion ?? " " ,
42+ " build " : currentBuild ?? " "
43+ ] )
44+ }
4745 } else if currentBuild != previousBuild {
48- analytics? . track ( name: " Application Updated " , properties: [
49- " previous_version " : previousVersion ?? " " ,
50- " previous_build " : previousBuild ?? " " ,
46+ if analytics? . configuration. values. trackedApplicationLifecycleEvents. contains ( . applicationUpdated) == true {
47+ analytics? . track ( name: " Application Updated " , properties: [
48+ " previous_version " : previousVersion ?? " " ,
49+ " previous_build " : previousBuild ?? " " ,
50+ " version " : currentVersion ?? " " ,
51+ " build " : currentBuild ?? " "
52+ ] )
53+ }
54+ }
55+
56+ if analytics? . configuration. values. trackedApplicationLifecycleEvents. contains ( . applicationOpened) == true {
57+ analytics? . track ( name: " Application Opened " , properties: [
58+ " from_background " : false ,
5159 " version " : currentVersion ?? " " ,
5260 " build " : currentBuild ?? " "
5361 ] )
5462 }
55-
56- analytics? . track ( name: " Application Opened " , properties: [
57- " from_background " : false ,
58- " version " : currentVersion ?? " " ,
59- " build " : currentBuild ?? " "
60- ] )
61-
63+
6264 UserDefaults . standard. setValue ( currentVersion, forKey: Self . versionKey)
6365 UserDefaults . standard. setValue ( currentBuild, forKey: Self . buildKey)
6466 }
6567
6668 func applicationDidUnhide( ) {
67- if analytics? . configuration. values. trackApplicationLifecycleEvents == false {
68- return
69+ if analytics? . configuration. values. trackedApplicationLifecycleEvents. contains ( . applicationUnhidden) == true {
70+ let currentVersion = Bundle . main. infoDictionary ? [ " CFBundleShortVersionString " ] as? String
71+ let currentBuild = Bundle . main. infoDictionary ? [ " CFBundleVersion " ] as? String
72+
73+ analytics? . track ( name: " Application Unhidden " , properties: [
74+ " from_background " : true ,
75+ " version " : currentVersion ?? " " ,
76+ " build " : currentBuild ?? " "
77+ ] )
6978 }
70-
71- let currentVersion = Bundle . main. infoDictionary ? [ " CFBundleShortVersionString " ] as? String
72- let currentBuild = Bundle . main. infoDictionary ? [ " CFBundleVersion " ] as? String
73-
74- analytics? . track ( name: " Application Unhidden " , properties: [
75- " from_background " : true ,
76- " version " : currentVersion ?? " " ,
77- " build " : currentBuild ?? " "
78- ] )
7979 }
8080
8181 func applicationDidHide( ) {
82- if analytics? . configuration. values. trackApplicationLifecycleEvents == false {
83- return
82+ if analytics? . configuration. values. trackedApplicationLifecycleEvents . contains ( . applicationHidden ) == true {
83+ analytics ? . track ( name : " Application Hidden " )
8484 }
85-
86- analytics? . track ( name: " Application Hidden " )
8785 }
8886 func applicationDidResignActive( ) {
89- if analytics? . configuration. values. trackApplicationLifecycleEvents == false {
90- return
87+ if analytics? . configuration. values. trackedApplicationLifecycleEvents . contains ( . applicationBackgrounded ) == true {
88+ analytics ? . track ( name : " Application Backgrounded " )
9189 }
92-
93- analytics? . track ( name: " Application Backgrounded " )
9490 }
9591
9692 func applicationDidBecomeActive( ) {
97- if analytics? . configuration. values. trackApplicationLifecycleEvents == false {
93+ if analytics? . configuration. values. trackedApplicationLifecycleEvents . contains ( . applicationForegrounded ) == false {
9894 return
9995 }
100-
10196 analytics? . track ( name: " Application Foregrounded " )
10297
10398 // Lets check if we skipped application:didFinishLaunchingWithOptions,
@@ -109,11 +104,9 @@ class macOSLifecycleEvents: PlatformPlugin, macOSLifecycle {
109104 }
110105
111106 func applicationWillTerminate( ) {
112- if analytics? . configuration. values. trackApplicationLifecycleEvents == false {
113- return
107+ if analytics? . configuration. values. trackedApplicationLifecycleEvents . contains ( . applicationTerminated ) == true {
108+ analytics ? . track ( name : " Application Terminated " )
114109 }
115-
116- analytics? . track ( name: " Application Terminated " )
117110 }
118111}
119112
0 commit comments