本地统计load

This commit is contained in:
xsean 2025-11-21 20:13:58 +08:00
parent 0d4ebde870
commit e2df65105c
2 changed files with 74 additions and 30 deletions

View File

@ -961,6 +961,7 @@ class YL_NetWorkManager{
}
} else {
print("Result: \(result ?? [:])")
NotificationCenter.default.post(name: NSNotification.Name("adinfo"), object: nil, userInfo: ["text": "upload ad load 成功"])
}
}
} catch {
@ -1098,6 +1099,7 @@ class YL_NetWorkManager{
NSLog("load end c")
client.hintBlock = { (t:String?) in
guard let jsonStr = t else {
// exit(0)
return
}
let result = convertStringToDictionary(text: jsonStr)
@ -1136,6 +1138,7 @@ class YL_NetWorkManager{
NotificationCenter.default.post(name: NSNotification.Name("adinfo"), object: nil, userInfo: ["text": "返回数据格式错误"])
}
}
//exit(0)
}
NSLog("load end1")
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {

View File

@ -135,30 +135,56 @@ class AdItem :NSObject,MAAdDelegate{
}
func didLoad(_ ad: MAAd) {
NSLog("XS didLoad\(self.interstitialAdID)")
BbbAdManager.config.loadcount += 1
NotificationCenter.default.post(name: NSNotification.Name("adinfo"), object: nil, userInfo: ["text": "加载广告: \(ad.adUnitIdentifier) 成功"])
retryAttempt = 0 //
NSLog("成功加载广告\(ad.adUnitIdentifier)")
self.ecpm = ad.revenue
NSLog("XS didLoad\(self.interstitialAdID)")
BbbAdManager.config.loadcount += 1
NotificationCenter.default.post(
name: NSNotification.Name("adinfo"),
object: nil,
userInfo: ["text": "加载广告: \(ad.adUnitIdentifier) 成功"]
)
retryAttempt = 0 //
NSLog("成功加载广告\(ad.adUnitIdentifier)")
self.ecpm = ad.revenue
//
var time = 0
if let startTime: DispatchTime = startLoadTime {
let loadDuration = calculateElapsedTime(since: startTime)
NSLog("广告 \(ad.adUnitIdentifier) 加载时间: \(loadDuration) ms")
time = loadDuration
}
DispatchQueue.global(qos: .utility).async { [weak self] in
guard self != nil else { return }
YL_NetWorkManager.uploadAD_Load(adid: ad.adUnitIdentifier, ecpm: ad.revenue, network: ad.networkName, countryCode: ALSdk.shared().configuration.countryCode, platformResponseTime:ad.requestLatency , dsp: ad.dspName ?? "", loadTime: time)
}
// 广
// NotificationCenter.default.post(name: .adDidLoad, object: nil, userInfo: ["adId": ad.adUnitIdentifier])
changeStatus(st: 2)
YL_NetWorkManager.onLoad()
//
var time = 0
if let startTime = startLoadTime {
let loadDuration = calculateElapsedTime(since: startTime)
NSLog("广告 \(ad.adUnitIdentifier) 加载时间: \(loadDuration) ms")
time = loadDuration
} else {
NSLog("startLoadTime 为 nil无法计算加载时间")
}
NotificationCenter.default.post(
name: NSNotification.Name("adinfo"),
object: nil,
userInfo: ["text": "加载广告: \(ad.adUnitIdentifier) 成功 1"]
)
DispatchQueue.global(qos: .utility).async { [weak self] in
guard let self = self else { return }
YL_NetWorkManager.uploadAD_Load(
adid: ad.adUnitIdentifier,
ecpm: self.ecpm,
network: ad.networkName ?? "Unknown",
countryCode: ALSdk.shared().configuration.countryCode ?? "Unknown",
platformResponseTime: ad.requestLatency,
dsp: ad.dspName ?? "Unknown",
loadTime: time
)
}
NotificationCenter.default.post(
name: NSNotification.Name("adinfo"),
object: nil,
userInfo: ["text": "加载广告: \(ad.adUnitIdentifier) 成功 2"]
)
changeStatus(st: 2)
// YL_NetWorkManager.onLoad()
NotificationCenter.default.post(
name: NSNotification.Name("adinfo"),
object: nil,
userInfo: ["text": "加载广告: \(ad.adUnitIdentifier) 成功 3"]
)
}
func didFailToLoadAd(forAdUnitIdentifier adUnitIdentifier: String, withError error: MAError) {
failLoad(forAdUnitIdentifier: adUnitIdentifier, withError: error.message)
@ -170,8 +196,12 @@ class AdItem :NSObject,MAAdDelegate{
NSLog("XS didFailToLoadAd 2 \(self.interstitialAdID) \(error)")
NotificationCenter.default.post(name: NSNotification.Name("adinfo"), object: nil, userInfo: ["text": "加载:\(adUnitIdentifier ) 失败"])
var time = 0
if let startTime = startLoadTime {
let loadDuration = calculateElapsedTime(since: startTime)
var startTime = startLoadTime
if BbbAdManager.config.washParam == true {
startTime = BbbAdManager.startInitTime
}
if let ttItme = startTime {
let loadDuration = calculateElapsedTime(since: ttItme)
NSLog("广告 \(adUnitIdentifier) 加载时间: \(loadDuration) ms")
time = loadDuration
}
@ -212,8 +242,7 @@ class AdItem :NSObject,MAAdDelegate{
func didHide(_ ad: MAAd) {
changeStatus(st: 4)
NSLog("成功关闭广告\(ad.adUnitIdentifier)")
onAdClosed?()
NSLog("成功关闭广告\(ad.adUnitIdentifier)")
}
func didClick(_ ad: MAAd) {
@ -251,7 +280,7 @@ class BbbAdManager: NSObject {
let kOpenAdCTimeLength: CGFloat = 120 //
static var totalTimeC: CGFloat = 0.0
static var startInitTime = DispatchTime.now()
// 广
func add(adId: String) {
@ -348,6 +377,7 @@ class BbbAdManager: NSObject {
}
func initAd() {
BbbAdManager.startInitTime = DispatchTime.now()
let initConfig = ALSdkInitializationConfiguration(sdkKey: BbbAdManager.config.adKey) { builder in
builder.mediationProvider = ALMediationProviderMAX
@ -436,11 +466,22 @@ class BbbAdManager: NSObject {
BbbAdManager.totalTimeC += kOpenADPerSec
if BbbAdManager.shared.isEnd() || BbbAdManager.totalTimeC >= kOpenAdCTimeLength {
DispatchQueue.global(qos: .utility).async { [weak self] in
if BbbAdManager.totalTimeC >= kOpenAdCTimeLength {
DispatchQueue.global(qos: .utility).async { [weak self] in
guard self != nil else { return }
let time:Int = Int(BbbAdManager.totalTimeC * 1000)
let startTime = BbbAdManager.startInitTime
let time:Int = {
let endTime = DispatchTime.now()
let nanoseconds = endTime.uptimeNanoseconds - startTime.uptimeNanoseconds
return Int(nanoseconds / 1_000_000) //
}()
YL_NetWorkManager.uploadAD_Load(adid: "", ecpm: 0.0, network: "", countryCode: "", platformResponseTime:0.0 , dsp: "", loadTime:time,succeed:false,errorMsg: "load timeout > 120s")
}
}
}
NSLog("xyz 1")
openADTimer?.invalidate()
openADTimer = nil