QSLGravityManager.swift 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //
  2. // QSLGravityManager.swift
  3. // QuickSearchLocation
  4. //
  5. // Created by Destiny on 2024/12/23.
  6. //
  7. import Foundation
  8. import GravityEngineSDK
  9. var gravityInstance: GravityEngineSDK?
  10. class QSLGravityManager {
  11. func initGE() {
  12. #if targetEnvironment(simulator)
  13. return;
  14. #else
  15. #endif
  16. // 引力引擎
  17. let config = GEConfig()
  18. config.appid = QSLGravityConst.appid
  19. config.accessToken = QSLGravityConst.accessToken
  20. GravityEngineSDK.start(with: config)
  21. let instance = GravityEngineSDK.sharedInstance(withAppid: config.appid)
  22. gravityInstance = instance
  23. // 开启自动采集
  24. instance?.enableAutoTrack(GravityEngineAutoTrackEventType.eventTypeAll)
  25. print("启动引力引擎")
  26. let idfa = QSLApi.params["idfa"] as? String ?? ""
  27. let idfv = QSLApi.params["idfv"] as? String ?? ""
  28. let version = QSLApi.params["appVersionCode"] as? Int ?? 100
  29. instance?.initializeGravityEngine(withAsaEnable: true, withCaid1: "", withCaid2: "", withSyncAttribution: true, withChannel: "AppStore", withSuccessCallback: { response in
  30. print("gravity engine initialize success, response is---", response)
  31. if let clickCom = response["click_company"] as? String {
  32. QSLGuideusersToCommentManager.commentShare.clickCompanyChannel = clickCom
  33. }
  34. // 检查订单
  35. QSLBaseManager.shared.initPayCheck()
  36. gravityInstance?.track(QSLGravityConst.launch_show)
  37. if let clientId = gravityInstance?.getCurrentClientId() {
  38. QSLBaseManager.shared.uploadClientId(clientId: clientId)
  39. }
  40. }, withErrorCallback: { error in
  41. print("gravity engine initialize failed, and error is", error)
  42. // 检查订单
  43. QSLBaseManager.shared.initPayCheck()
  44. })
  45. //开始统计时长
  46. QSLStatisticsUserTimeManager.shared.startTracking()
  47. }
  48. }