FMTrackEventManager.swift 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //
  2. // FMTrackEventManager.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by liujiajie on 2024/2/7.
  6. //
  7. import Foundation
  8. import AppCenterAnalytics
  9. class FMTrackEventManager: NSObject{
  10. static let defaultManager: FMTrackEventManager = {
  11. let manager = FMTrackEventManager()
  12. return manager
  13. }()
  14. override init() {
  15. super.init()
  16. }
  17. func trackEvent(event: String, withProperties properties: [String: String]?) {
  18. if event.count < 1 { return }
  19. #if DEBUG
  20. NSLog("###-FireBaseEvent-(event)-(properties?.first?.key)-(properties?.first?.value)")
  21. #endif
  22. // if RIAnalytics.isNewUserForCurrentVersion()
  23. if let props = properties {
  24. Analytics.trackEvent(event, withProperties: props)
  25. } else {
  26. Analytics.trackEvent(event)
  27. }
  28. }
  29. func trackOnceEvent(event: String, withProperties properties: [String: String]?) {
  30. if event.count < 1 { return }
  31. var eventString = event
  32. if properties?.keys.count ?? 0 > 0 && properties?.values.count ?? 0 > 0 {
  33. var keyString = ""
  34. for key in properties!.keys {
  35. keyString += key
  36. }
  37. for value in properties!.values {
  38. keyString += value
  39. }
  40. eventString += keyString
  41. }
  42. if let props = properties {
  43. Analytics.trackEvent(event, withProperties: props)
  44. } else {
  45. Analytics.trackEvent(event)
  46. }
  47. }
  48. }