52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Swift
		
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Swift
		
	
	
|  | // | ||
|  | //  GuruAnalytics+Internal.swift | ||
|  | //  Pods | ||
|  | // | ||
|  | //  Created by mayue on 2022/11/18. | ||
|  | // | ||
|  | 
 | ||
|  | import Foundation | ||
|  | 
 | ||
|  | internal extension GuruAnalytics { | ||
|  |      | ||
|  |     ///built-in user property keys | ||
|  |     enum PropertyName: String { | ||
|  |         case deviceId | ||
|  |         case uid | ||
|  |         case adjustId | ||
|  |         case adId | ||
|  |         case firebaseId | ||
|  |         case screen = "screen_name" | ||
|  |         case firstOpenTime = "first_open_time" | ||
|  |     } | ||
|  |      | ||
|  |     ///built-in events | ||
|  |     static let fgEvent: EventProto = { | ||
|  |         var e = EventProto(paramKeyType: FgEventParametersKeys.self, name: "fg") | ||
|  |         return e | ||
|  |     }() | ||
|  |      | ||
|  |     static let firstOpenEvent: EventProto = { | ||
|  |         var e = EventProto(paramKeyType: FgEventParametersKeys.self, name: "first_open") | ||
|  |         return e | ||
|  |     }() | ||
|  |      | ||
|  |     class func setUserProperty(_ value: String?, forName name: PropertyName) { | ||
|  |         setUserProperty(value, forName: name.rawValue) | ||
|  |     } | ||
|  |      | ||
|  | } | ||
|  | 
 | ||
|  | internal extension GuruAnalytics { | ||
|  |      | ||
|  |     struct EventProto<ParametersKeys> { | ||
|  |         var paramKeyType: ParametersKeys.Type | ||
|  |         var name: String | ||
|  |     } | ||
|  |      | ||
|  |     enum FgEventParametersKeys: String { | ||
|  |         case duration | ||
|  |     } | ||
|  |      | ||
|  | } |