@@ -3,13 +3,13 @@ import Mixpanel
3
3
import SwiftfulLogging
4
4
import SendableDictionary
5
5
6
- struct MixpanelProvider : LogService {
6
+ public struct MixpanelService : LogService {
7
7
8
8
private var instance : MixpanelInstance {
9
9
Mixpanel . mainInstance ( )
10
10
}
11
11
12
- init ( token: String ) {
12
+ public init ( token: String ) {
13
13
#if !os(OSX) && !os(watchOS)
14
14
Mixpanel . initialize ( token: token, trackAutomaticEvents: true )
15
15
#else
@@ -18,7 +18,7 @@ struct MixpanelProvider: LogService {
18
18
instance. loggingEnabled = false
19
19
}
20
20
21
- func identifyUser( userId: String , name: String ? , email: String ? ) {
21
+ public func identifyUser( userId: String , name: String ? , email: String ? ) {
22
22
instance. identify ( distinctId: userId)
23
23
24
24
if let name {
@@ -29,21 +29,21 @@ struct MixpanelProvider: LogService {
29
29
}
30
30
}
31
31
32
- func trackEvent( event: LoggableEvent ) {
32
+ public func trackEvent( event: LoggableEvent ) {
33
33
let properties = event. parameters? . mapValues ( { $0 as? MixpanelType } )
34
34
Mixpanel . mainInstance ( ) . track ( event: event. eventName, properties: properties)
35
35
}
36
36
37
- func trackScreenView( event: any LoggableEvent ) {
37
+ public func trackScreenView( event: any LoggableEvent ) {
38
38
trackEvent ( event: event)
39
39
}
40
40
41
- func addUserProperties( dict: SendableDict ) {
41
+ public func addUserProperties( dict: SendableDict ) {
42
42
let properties = dict. dict. mapValues ( { $0 as? MixpanelType } )
43
43
instance. people. set ( properties: properties)
44
44
}
45
45
46
- func deleteUserProfile( ) {
46
+ public func deleteUserProfile( ) {
47
47
instance. people. deleteUser ( )
48
48
}
49
49
}
0 commit comments