| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- //
- // QSLCentralEventManager.swift
- // QuickSearchLocation
- //
- // Created by Destiny on 2025/10/13.
- //
- import Foundation
- import UIKit
- import AppTrackingTransparency
- import AdSupport
- import StoreKit
- import AdServices
- class QSLCentralEventManager {
- // 中台
- static let centralUrl = "https://project-api.atmob.com"
-
- static let appKey = "a3794176067047728826578522a34e5f"
-
- static let bundleId = "com.manbu.shouji"
-
- static let event_push = "/central/open/v1/event/push"
-
- static let ssid_detail = "/central/open/v1/ssid/detail"
-
- static let shared = QSLCentralEventManager()
-
- private init() {}
- }
- extension QSLCentralEventManager {
- func uploadEvent(eventType: String, eventName: String, eventProps: [String:Any]) {
-
- let timestamp = Int(Date.milliStamp) ?? 0
- var currentPropos = eventProps;
- currentPropos["$snid"] = QSLDeviceTool.shared.sessionId
- baseEventUpload(param: ["ak":QSLCentralEventManager.appKey,"cp":baseDic(),"ft":timestamp, "es":[["ti":timestamp, "ty":eventType, "ev":eventName,"pr":currentPropos]]])
- }
-
- func uploadEvent(eventType: String, eventName: String, eventPropsArr: [[String:Any]]) {
-
- let timestamp = Int(Date.milliStamp) ?? 0
-
- baseEventUpload(param: ["ak":QSLCentralEventManager.appKey,"cp":baseDic(),"ft":timestamp, "es":eventPropsArr])
- }
-
- func baseDic() -> [String:Any]{
- // 获取包名
- var bundleId = QSLCentralEventManager.bundleId
- if let bundleIdentifier = Bundle.main.bundleIdentifier {
- bundleId = bundleIdentifier
- }
- var cpDict : [String : Any] = ["$aplf":2, "$chnl":"Appstore"]
- cpDict["$pkg"] = bundleId
- cpDict["$aver"] = QSLDeviceTool.shared.appVersionName
- cpDict["$avec"] = QSLDeviceTool.shared.appVersionCode
- cpDict["$modl"] = QSLDeviceTool.shared.phoneModel
- cpDict["$osv"] = QSLDeviceTool.shared.OSVersion
- cpDict["$idfa"] = QSLDeviceTool.shared.idfa
- cpDict["$idfv"] = QSLDeviceTool.shared.idfv
-
- return cpDict
- }
-
- func baseEventUpload(param: [String:Any]) {
- QSLCentralNetwork().request(.eventPush(dict: param)) { response in
- debugPrint("上报事件成功")
- } fail: { code, error in
- debugPrint("上报事件失败")
- }
- }
- }
|