From 92b5a7c9178196ca9f84d461b9d597714cc91594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BF=86=E6=B5=B716?= <> Date: Thu, 25 Jul 2024 10:51:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E8=A3=85=E7=BD=91=E7=BB=9C=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anniversary_Project.xcodeproj/project.pbxproj | 28 +- anniversary_Project/AppDelegate.swift | 6 +- .../Drink_water/waterC/AV_WaterHomeVC.swift | 4 - .../waterC/AV_WaterSettingVC.swift | 5 +- .../Drink_water/waterC/AV_WaterSettingVC.xib | 1 + .../Player/AV_AddPlayerVC.swift | 68 ++-- .../Player/AV_EditPlayerVC.swift | 207 ------------ .../Player/AV_EditPlayerVC.xib | 108 ------- .../Player/AV_MinePlayerVC.swift | 32 +- .../Player/AV_RootPlayerVC.swift | 303 ++++++++++++------ .../Player/AV_WaterKeyBordPlayerVC.swift | 58 +++- .../Tool/ADopen/adNetWork.swift | 144 +++++++++ anniversary_Project/Tool/NetworkManager.swift | 49 --- anniversary_Project/Tool/ip+idfa+ADID.swift | 12 +- 14 files changed, 508 insertions(+), 517 deletions(-) delete mode 100644 anniversary_Project/Player/AV_EditPlayerVC.swift delete mode 100644 anniversary_Project/Player/AV_EditPlayerVC.xib create mode 100644 anniversary_Project/Tool/ADopen/adNetWork.swift diff --git a/anniversary_Project.xcodeproj/project.pbxproj b/anniversary_Project.xcodeproj/project.pbxproj index 7d94576..0cd300f 100644 --- a/anniversary_Project.xcodeproj/project.pbxproj +++ b/anniversary_Project.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 753B789E2C4FB1450007526F /* adNetWork.swift in Sources */ = {isa = PBXBuildFile; fileRef = 753B789D2C4FB1450007526F /* adNetWork.swift */; }; 753C258A2C3B8272006E2660 /* AV_WaterDayCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 753C25892C3B8272006E2660 /* AV_WaterDayCell.xib */; }; 753C258B2C3B8272006E2660 /* AV_WaterDayCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 753C25882C3B8272006E2660 /* AV_WaterDayCell.swift */; }; 753C258E2C3B88F4006E2660 /* AV_BirtherDayTaskCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 753C258D2C3B88F4006E2660 /* AV_BirtherDayTaskCell.xib */; }; @@ -82,8 +83,6 @@ 75F3F3DB2C4CE5F600005A7E /* AV_MinePlayerVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75F3F3D92C4CE5F600005A7E /* AV_MinePlayerVC.xib */; }; 75F3F3DE2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F3F3DC2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.swift */; }; 75F3F3DF2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75F3F3DD2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.xib */; }; - 75F3F3E22C4CE81800005A7E /* AV_EditPlayerVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F3F3E02C4CE81800005A7E /* AV_EditPlayerVC.swift */; }; - 75F3F3E32C4CE81800005A7E /* AV_EditPlayerVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75F3F3E12C4CE81800005A7E /* AV_EditPlayerVC.xib */; }; 75FAEF2E2C3E5D9800298C7D /* CircularProgressBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75FAEF2D2C3E5D9700298C7D /* CircularProgressBarView.swift */; }; 75FAEF312C3E735800298C7D /* HealthManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75FAEF302C3E735800298C7D /* HealthManager.swift */; }; 75FAEF342C3E8D7400298C7D /* AV_NoneCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75FAEF322C3E8D7400298C7D /* AV_NoneCell.swift */; }; @@ -118,6 +117,7 @@ /* Begin PBXFileReference section */ 54C12C891A8D806F1F2D9570 /* Pods_anniversary_Project.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_anniversary_Project.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 753B789D2C4FB1450007526F /* adNetWork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = adNetWork.swift; sourceTree = ""; }; 753C25882C3B8272006E2660 /* AV_WaterDayCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_WaterDayCell.swift; sourceTree = ""; }; 753C25892C3B8272006E2660 /* AV_WaterDayCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_WaterDayCell.xib; sourceTree = ""; }; 753C258C2C3B88F4006E2660 /* AV_BirtherDayTaskCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_BirtherDayTaskCell.swift; sourceTree = ""; }; @@ -198,8 +198,6 @@ 75F3F3D92C4CE5F600005A7E /* AV_MinePlayerVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_MinePlayerVC.xib; sourceTree = ""; }; 75F3F3DC2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_WaterKeyBordPlayerVC.swift; sourceTree = ""; }; 75F3F3DD2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_WaterKeyBordPlayerVC.xib; sourceTree = ""; }; - 75F3F3E02C4CE81800005A7E /* AV_EditPlayerVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AV_EditPlayerVC.swift; sourceTree = ""; }; - 75F3F3E12C4CE81800005A7E /* AV_EditPlayerVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AV_EditPlayerVC.xib; sourceTree = ""; }; 75FAEF2D2C3E5D9700298C7D /* CircularProgressBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircularProgressBarView.swift; sourceTree = ""; }; 75FAEF2F2C3E723A00298C7D /* anniversary_Project.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = anniversary_Project.entitlements; sourceTree = ""; }; 75FAEF302C3E735800298C7D /* HealthManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HealthManager.swift; sourceTree = ""; }; @@ -251,6 +249,14 @@ name = Frameworks; sourceTree = ""; }; + 753B789C2C4FB1330007526F /* ADopen */ = { + isa = PBXGroup; + children = ( + 753B789D2C4FB1450007526F /* adNetWork.swift */, + ); + path = ADopen; + sourceTree = ""; + }; 753C259C2C3BED13006E2660 /* homewater */ = { isa = PBXGroup; children = ( @@ -314,13 +320,6 @@ path = V; sourceTree = ""; }; - 75B426902C4DF69C001844C2 /* NetWork */ = { - isa = PBXGroup; - children = ( - ); - path = NetWork; - sourceTree = ""; - }; 75C0A1252BC787A400AB0094 = { isa = PBXGroup; children = ( @@ -442,7 +441,7 @@ 75C0A1742BC78F2500AB0094 /* Tool */ = { isa = PBXGroup; children = ( - 75B426902C4DF69C001844C2 /* NetWork */, + 753B789C2C4FB1330007526F /* ADopen */, 753C25A12C3BF4A1006E2660 /* MLSliderRulerScrollView.swift */, 753C25A02C3BF4A1006E2660 /* MLSliderRulerView.swift */, 753C25902C3BBA9D006E2660 /* AV_WaveView.swift */, @@ -539,8 +538,6 @@ 75F3F3D92C4CE5F600005A7E /* AV_MinePlayerVC.xib */, 75F3F3DC2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.swift */, 75F3F3DD2C4CE6F400005A7E /* AV_WaterKeyBordPlayerVC.xib */, - 75F3F3E02C4CE81800005A7E /* AV_EditPlayerVC.swift */, - 75F3F3E12C4CE81800005A7E /* AV_EditPlayerVC.xib */, ); path = Player; sourceTree = ""; @@ -691,7 +688,6 @@ 75C4E0B82C367EAE00B4C170 /* AV_WaterCell.xib in Resources */, 753C258E2C3B88F4006E2660 /* AV_BirtherDayTaskCell.xib in Resources */, 75C0A1F52BCCD48A00AB0094 /* AV_TaskCell.xib in Resources */, - 75F3F3E32C4CE81800005A7E /* AV_EditPlayerVC.xib in Resources */, 753C25962C3BE9D5006E2660 /* AV_AddWaterVC.xib in Resources */, 75FDC0B42BCE1F4F005B3D13 /* AV_CalenDarcell.xib in Resources */, 75C0A16D2BC789F900AB0094 /* AV_HomeVC.xib in Resources */, @@ -803,6 +799,7 @@ 759616702C35348A00363C46 /* AV_SportsVC.swift in Sources */, 75C0A1EA2BCCC83D00AB0094 /* AV_CustomTabBar.swift in Sources */, 75FAEF342C3E8D7400298C7D /* AV_NoneCell.swift in Sources */, + 753B789E2C4FB1450007526F /* adNetWork.swift in Sources */, 75FDC0C82BCF77B7005B3D13 /* AV_AboutVC.swift in Sources */, 75FAEF312C3E735800298C7D /* HealthManager.swift in Sources */, 754835032C3D04F300AC6F8F /* AV_WaterSettingVC.swift in Sources */, @@ -831,7 +828,6 @@ 754C97E22C3D453800A0455D /* AV_pagesAllVC.swift in Sources */, 75C0A1762BC78F3300AB0094 /* WCDB.swift in Sources */, 754C97DE2C3D2EAA00A0455D /* AV_TemperatureVC.swift in Sources */, - 75F3F3E22C4CE81800005A7E /* AV_EditPlayerVC.swift in Sources */, 754C97D22C3D0F7100A0455D /* AV_selectWeightVC.swift in Sources */, 753C259F2C3BEFB8006E2660 /* AV_ScrollingScaleView.swift in Sources */, 753C25A22C3BF4A1006E2660 /* MLSliderRulerView.swift in Sources */, diff --git a/anniversary_Project/AppDelegate.swift b/anniversary_Project/AppDelegate.swift index 6dc7b56..158d3ad 100644 --- a/anniversary_Project/AppDelegate.swift +++ b/anniversary_Project/AppDelegate.swift @@ -53,7 +53,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate,UNUserNotificationCenterDe } } - // self.window?.rootViewController = AV_NAVVC(rootViewController: vc) } else { // 第一次启动 @@ -70,7 +69,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate,UNUserNotificationCenterDe ALSdk.shared().initialize(with: initConfig) { sdkConfig in - } } @@ -127,7 +125,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate,UNUserNotificationCenterDe print("相册权限已拒绝或受限,请在设置中开启权限") case .notDetermined: // 用户尚未作出选择,请求相册权限 - PHPhotoLibrary.requestAuthorization { [weak self] (newStatus) in + PHPhotoLibrary.requestAuthorization { (newStatus) in DispatchQueue.main.async { if newStatus == .authorized { // 用户授权访问相册 @@ -138,6 +136,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate,UNUserNotificationCenterDe } } } + case .limited: + print("用户已授权此应用程序访问有限的照片库") @unknown default: // 处理未知权限状态 print("未知的相册权限状态") diff --git a/anniversary_Project/Home/Drink_water/waterC/AV_WaterHomeVC.swift b/anniversary_Project/Home/Drink_water/waterC/AV_WaterHomeVC.swift index 26ba92c..1f50e5f 100644 --- a/anniversary_Project/Home/Drink_water/waterC/AV_WaterHomeVC.swift +++ b/anniversary_Project/Home/Drink_water/waterC/AV_WaterHomeVC.swift @@ -39,11 +39,7 @@ class AV_WaterHomeVC: AV_RootVC { print("IDFA is not available or tracking authorization denied.") } } - setPostStar() - - - } func setPostStar(){ diff --git a/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.swift b/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.swift index f84ac72..9998ec4 100644 --- a/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.swift +++ b/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.swift @@ -9,6 +9,9 @@ import UIKit class AV_WaterSettingVC: AV_RootVC { + @IBOutlet weak var sersionV: UIView! + + @IBOutlet weak var waterprogressView: UIView! @@ -36,7 +39,7 @@ class AV_WaterSettingVC: AV_RootVC { var timer: Timer? override func viewDidLoad() { super.viewDidLoad() - + sersionV.layer.cornerRadius = 28 waterbgView.layer.cornerRadius = 28 clockView.layer.cornerRadius = 28 diff --git a/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.xib b/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.xib index 62d6ddc..8799c9d 100644 --- a/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.xib +++ b/anniversary_Project/Home/Drink_water/waterC/AV_WaterSettingVC.xib @@ -15,6 +15,7 @@ + diff --git a/anniversary_Project/Player/AV_AddPlayerVC.swift b/anniversary_Project/Player/AV_AddPlayerVC.swift index a8d458d..66eb7bb 100644 --- a/anniversary_Project/Player/AV_AddPlayerVC.swift +++ b/anniversary_Project/Player/AV_AddPlayerVC.swift @@ -14,7 +14,7 @@ import FirebaseRemoteConfig class AV_AddPlayerVC: AV_RootVC { - + var retryAttempt = 0.0 var interstitialAd: MAInterstitialAd! var adCheckTimer: Timer? @@ -23,7 +23,7 @@ class AV_AddPlayerVC: AV_RootVC { override func viewDidLoad() { super.viewDidLoad() - + startAdCheck() } override func viewWillAppear(_ animated: Bool) { @@ -33,7 +33,7 @@ class AV_AddPlayerVC: AV_RootVC { } ///定时加载 func startAdCheck() { - + adCheckStartTime = Date() adCheckTimer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(checkAdStatus), userInfo: nil, repeats: true) } @@ -46,7 +46,8 @@ class AV_AddPlayerVC: AV_RootVC { interstitialAd.show() adLoadTime = elapsedTimeInMilliseconds // 记录加载 adCheckTimer?.invalidate() - setshow() + setShow() + } else if elapsedTimeInMilliseconds >= 10000 { // 10000 毫秒 = 10 秒 adCheckTimer?.invalidate() self.navigationController?.popViewController(animated: true) @@ -55,7 +56,7 @@ class AV_AddPlayerVC: AV_RootVC { print("广告未准备好,继续检查...") } } - + func setPostload(){ let url = "http://111.9.47.226:38080/top_selection/save_ad_load_log" let parameters:[String : Any] = [ @@ -130,6 +131,7 @@ class AV_AddPlayerVC: AV_RootVC { switch result { case .success(let data): print("Response:--- \(data)") + case .failure(let error): print("Error:--- \(error)") } @@ -137,26 +139,50 @@ class AV_AddPlayerVC: AV_RootVC { } - func setshow(){ - let parameters:[String : Any] = [ - "appid": "com.countdown.day.daycount", - "idfa":StartManager.shared.idfaid ?? "", - "id":StartManager.shared.idOneAD, - "ecpm":StartManager.shared.idOne ?? "", - - ] - NetworkManager.shared.postRequest(url: StartManager.shared.showurl, parameters: parameters, headers: StartManager.shared.headers) { result in +// func setshow(){ +// let parameters:[String : Any] = [ +// "appid": "com.countdown.day.daycount", +// "idfa":StartManager.shared.idfaid ?? "", +// "id":StartManager.shared.idOneAD, +// "ecpm":StartManager.shared.idOneprice ?? "", +// +// ] +// NetworkManager.shared.postRequest(url: StartManager.shared.showurl, parameters: parameters, headers: StartManager.shared.headers) { result in +// switch result { +// case .success(let data): +// print("Response:--- \(data)") +// if let status = data["status"] as? String, status == "Success" { +// if let needLoad = data["close"] as? Int { +// let seconds = millisecondsToSeconds(milliseconds: needLoad) +// +// DispatchQueue.main.asyncAfter(wallDeadline: .now() + seconds) { +// closeADWindow() +// } +// } +// } +// case .failure(let error): +// print("Error:--- \(error)") +// } +// } +// } + + func setShow() { + let idfa = StartManager.shared.idfaid + let adId = StartManager.shared.idOneAD + let ecpm = StartManager.shared.idOneprice + + AdLoader.shared.showAd(idfa: idfa, adId: adId, ecpm: ecpm) { result in switch result { - case .success(let data): - print("Response:--- \(data)") + case .success(let closeTime): break +// let seconds = millisecondsToSeconds(milliseconds: closeTime) +// DispatchQueue.main.asyncAfter(deadline: .now() + seconds) { +// closeADWindow() +// } case .failure(let error): print("Error:--- \(error)") } } - } - - } extension AV_AddPlayerVC: MAAdDelegate @@ -191,7 +217,7 @@ extension AV_AddPlayerVC: MAAdDelegate StartManager.shared.network = ad.networkName - StartManager.shared.idOne = Float(ad.revenue) + StartManager.shared.idOneprice = Float(ad.revenue) print("----idOne\(Float(ad.revenue))") setPostload() } @@ -232,5 +258,5 @@ extension AV_AddPlayerVC: MAAdDelegate } - + } diff --git a/anniversary_Project/Player/AV_EditPlayerVC.swift b/anniversary_Project/Player/AV_EditPlayerVC.swift deleted file mode 100644 index 7eac582..0000000 --- a/anniversary_Project/Player/AV_EditPlayerVC.swift +++ /dev/null @@ -1,207 +0,0 @@ -// -// AV_EditPlayerVC.swift -// anniversary_Project -// -// Created by 忆海16 on 2024/7/21. -// - -import UIKit - -import AppLovinSDK -import Alamofire -import FirebaseRemoteConfig - - -class AV_EditPlayerVC: AV_RootVC { - - var retryAttempt = 0.0 - var interstitialAd: MAInterstitialAd! - var adCheckTimer: Timer? - var adCheckStartTime: Date? - var adLoadTime: Int = 0 - - - - override func viewDidLoad() { - super.viewDidLoad() -// self.createInterstitialAd() - startAdCheck() - } - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - self.navigationController?.navigationBar.isHidden = true - - } - ///定时加载 - func startAdCheck() { - createInterstitialAd() - adCheckStartTime = Date() - adCheckTimer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(checkAdStatus), userInfo: nil, repeats: true) - } - - @objc func checkAdStatus() { - let elapsedTime = Date().timeIntervalSince(adCheckStartTime!) - let elapsedTimeInMilliseconds = Int(elapsedTime * 1000) - - if interstitialAd.isReady { - interstitialAd.show() - adLoadTime = elapsedTimeInMilliseconds // 记录加载 - adCheckTimer?.invalidate() - } else if elapsedTimeInMilliseconds >= 10000 { // 10000 毫秒 = 10 秒 - adCheckTimer?.invalidate() - self.navigationController?.popViewController(animated: true) - - } else { - print("广告未准备好,继续检查...") - } - } - - func setPostload(){ - let url = "http://111.9.47.226:38080/top_selection/save_ad_load_log" - let parameters:[String : Any] = [ - "deviceId": StartManager.shared.devicID ?? "", - "localIp": StartManager.shared.localIP ?? "", - "remoteIp": StartManager.shared.publicIP ?? "", - "linkId": "", - "packageName": "com.countdown.day.daycount", - "gaid": StartManager.shared.idfaid ?? "", - "dataId": "", - "shelfNumber":"日历添加和返回", - "succeed": StartManager.shared.succeed, - "loadTime": "", - "adPlatform": StartManager.shared.adPlatform ?? "", - "countryCode": StartManager.shared.countryCode ?? "", - "adId": StartManager.shared.adId ?? "", - "platformResponseTime": StartManager.shared.platformResponseTime ?? "", - "getIpResponseTime": StartManager.shared.getIpResponseTime ?? "", - "ecpm": StartManager.shared.ecpm ?? "", - "dsp": StartManager.shared.dsp ?? "", - "network": StartManager.shared.network ?? "", - "showStatus": 0, - "washParam": true, - ] - - - let headers: HTTPHeaders = [ - "Content-Type": "application/json" - ] - - NetworkManager.shared.postRequest(url: url, parameters: parameters, headers: headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - case .failure(let error): - print("Error:--- \(error)") - } - } - - } - - - func setPostSHOW(){ - let url = "http://111.9.47.226:38080/top_selection/save_ad_show_log" - let parameters:[String : Any] = [ - "deviceId": StartManager.shared.devicID ?? "", - "localIp": StartManager.shared.localIP ?? "", - "remoteIp": StartManager.shared.publicIP ?? "", - "linkId": "", - "packageName": "com.countdown.day.daycount", - "gaid": StartManager.shared.idfaid ?? "", - "dataId": "", - "shelfNumber":"日历添加和返回", - "succeed": StartManager.shared.succeed, - "loadTime": "", - "adPlatform": StartManager.shared.adPlatform ?? "", - "countryCode": StartManager.shared.countryCode ?? "", - "adId": StartManager.shared.adId ?? "", - "platformResponseTime": StartManager.shared.platformResponseTime ?? "", - "getIpResponseTime": StartManager.shared.getIpResponseTime ?? "", - "ecpm": StartManager.shared.ecpm ?? "", - "dsp": StartManager.shared.dsp ?? "", - "network": StartManager.shared.network ?? "", - ] - - - let headers: HTTPHeaders = [ - "Content-Type": "application/json" - ] - - NetworkManager.shared.postRequest(url: url, parameters: parameters, headers: headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - case .failure(let error): - print("Error:--- \(error)") - } - } - - } -} -extension AV_EditPlayerVC: MAAdDelegate -{ - func createInterstitialAd() - { - interstitialAd = MAInterstitialAd(adUnitIdentifier: "bee9f7039e56cc7a") - interstitialAd.delegate = self - - // Load the first ad - interstitialAd.load() - } - - // MARK: MAAdDelegate Protocol - - func didLoad(_ ad: MAAd) - { - // Interstitial ad is ready to be shown. 'interstitialAd.isReady' will now return 'true' - - // Reset retry attempt - retryAttempt = 0 - StartManager.shared.succeed = true - // StartManager.shared.loadTime = self.adLoadTime - StartManager.shared.adPlatform = "MAX" - StartManager.shared.countryCode = ALSdk.shared().configuration.countryCode - StartManager.shared.adId = "8fccdfa964b52e26" - StartManager.shared.platformResponseTime = ad.requestLatency - StartManager.shared.ecpm = Float(ad.revenue) - StartManager.shared.dsp = ad.dspName - StartManager.shared.network = ad.networkName - - - setPostload() - } - - func didFailToLoadAd(forAdUnitIdentifier adUnitIdentifier: String, withError error: MAError) - { - // Interstitial ad failed to load - // We recommend retrying with exponentially higher delays up to a maximum delay (in this case 64 seconds) - - retryAttempt += 1 - let delaySec = pow(2.0, min(6.0, retryAttempt)) - - DispatchQueue.main.asyncAfter(deadline: .now() + delaySec) { - self.interstitialAd.load() - } - } - - func didDisplay(_ ad: MAAd) - { - // Pause your app's background audio - } - - func didClick(_ ad: MAAd) {} - - func didHide(_ ad: MAAd) - { - // Resume your app's background audio - // Interstitial ad is hidden. Pre-load the next ad - interstitialAd.load() - self.navigationController?.popViewController(animated: true) - - } - - func didFail(toDisplay ad: MAAd, withError error: MAError) - { - // Interstitial ad failed to display. We recommend loading the next ad - interstitialAd.load() - } -} diff --git a/anniversary_Project/Player/AV_EditPlayerVC.xib b/anniversary_Project/Player/AV_EditPlayerVC.xib deleted file mode 100644 index c71cf8c..0000000 --- a/anniversary_Project/Player/AV_EditPlayerVC.xib +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/anniversary_Project/Player/AV_MinePlayerVC.swift b/anniversary_Project/Player/AV_MinePlayerVC.swift index ae62250..4cfa03f 100644 --- a/anniversary_Project/Player/AV_MinePlayerVC.swift +++ b/anniversary_Project/Player/AV_MinePlayerVC.swift @@ -14,7 +14,7 @@ import FirebaseRemoteConfig class AV_MinePlayerVC: AV_RootVC { - + var retryAttempt = 0.0 var interstitialAd: MAInterstitialAd! @@ -22,11 +22,11 @@ class AV_MinePlayerVC: AV_RootVC { var adCheckStartTime: Date? var adLoadTime: Int = 0 - + override func viewDidLoad() { super.viewDidLoad() -// self.createInterstitialAd() + // self.createInterstitialAd() startAdCheck() } override func viewWillAppear(_ animated: Bool) { @@ -36,7 +36,7 @@ class AV_MinePlayerVC: AV_RootVC { } ///定时加载 func startAdCheck() { -// createInterstitialAd() + // createInterstitialAd() adCheckStartTime = Date() adCheckTimer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(checkAdStatus), userInfo: nil, repeats: true) } @@ -49,6 +49,7 @@ class AV_MinePlayerVC: AV_RootVC { interstitialAd.show() adLoadTime = elapsedTimeInMilliseconds // 记录加载 adCheckTimer?.invalidate() + setShow() } else if elapsedTimeInMilliseconds >= 10000 { // 10000 毫秒 = 10 秒 adCheckTimer?.invalidate() self.navigationController?.popViewController(animated: true) @@ -57,7 +58,7 @@ class AV_MinePlayerVC: AV_RootVC { print("广告未准备好,继续检查...") } } - + func setPostload(){ let url = "http://111.9.47.226:38080/top_selection/save_ad_load_log" let parameters:[String : Any] = [ @@ -138,6 +139,25 @@ class AV_MinePlayerVC: AV_RootVC { } } + + + func setShow() { + let idfa = StartManager.shared.idfaid + let adId = StartManager.shared.idTwoAD + let ecpm = StartManager.shared.idTwoprice + + AdLoader.shared.showAd(idfa: idfa, adId: adId, ecpm: ecpm) { result in + switch result { + case .success(let closeTime): break +// let seconds = millisecondsToSeconds(milliseconds: closeTime) +// DispatchQueue.main.asyncAfter(deadline: .now() + seconds) { +// closeADWindow() +// } + case .failure(let error): + print("Error:--- \(error)") + } + } + } } extension AV_MinePlayerVC: MAAdDelegate { @@ -167,7 +187,7 @@ extension AV_MinePlayerVC: MAAdDelegate StartManager.shared.ecpm = Float(ad.revenue) StartManager.shared.dsp = ad.dspName StartManager.shared.network = ad.networkName - StartManager.shared.idTwo = Float(ad.revenue) + StartManager.shared.idTwoprice = Float(ad.revenue) print("----idTwo\(Float(ad.revenue))") setPostload() } diff --git a/anniversary_Project/Player/AV_RootPlayerVC.swift b/anniversary_Project/Player/AV_RootPlayerVC.swift index ab7d8b1..c1ca0f1 100644 --- a/anniversary_Project/Player/AV_RootPlayerVC.swift +++ b/anniversary_Project/Player/AV_RootPlayerVC.swift @@ -61,6 +61,7 @@ class AV_RootPlayerVC: AV_RootVC { vc.interstitialAd = self.interstitialAd1 // vc.createInterstitialAd() self.navigationController?.pushViewController(vc, animated: true) + } // 8fccdfa964b52e26 @@ -70,10 +71,12 @@ class AV_RootPlayerVC: AV_RootVC { // vc.createInterstitialAd() vc.interstitialAd = self.interstitialAd2 self.navigationController?.pushViewController(vc, animated: true) + } // 7baed02646413e44 @IBAction func three(_ sender: Any) { + let vc = AV_WaterKeyBordPlayerVC() vc.interstitialAd = self.interstitialAd3 // vc.createInterstitialAd() @@ -82,93 +85,204 @@ class AV_RootPlayerVC: AV_RootVC { } - func setLoaded1(){ - let parameters:[String : Any] = [ - "appid": "com.countdown.day.daycount", - "idfa":StartManager.shared.idfaid ?? "", - "ads": [ - [ - "id": StartManager.shared.idOneAD, - "btn_position": [ - "x": StartManager.shared.idOnex, - "y": StartManager.shared.idOney - ], - "ecpm": StartManager.shared.idOne ?? "" - ] - ] - ] - NetworkManager.shared.postRequest(url: StartManager.shared.loadurl, parameters: parameters, headers: StartManager.shared.headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - case .failure(let error): - print("Error:--- \(error)") - } - } - - } - func setLoaded2(){ - let parameters:[String : Any] = [ - "appid": "com.countdown.day.daycount", - "idfa":StartManager.shared.idfaid ?? "", - "ads": [ - [ - "id": StartManager.shared.idTwoAD, - "btn_position": [ - "x": StartManager.shared.idTwox, - "y": StartManager.shared.idTwoy - ], - "ecpm": StartManager.shared.idTwo ?? "" - ] - ] - ] - NetworkManager.shared.postRequest(url: StartManager.shared.loadurl, parameters: parameters, headers: StartManager.shared.headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - case .failure(let error): - print("Error:--- \(error)") - } - } - - } +// func setLoaded1(){ +// let parameters:[String : Any] = [ +// "appid": "com.countdown.day.daycount", +// "idfa":StartManager.shared.idfaid ?? "", +// "ads": [ +// [ +// "id": StartManager.shared.idOneAD, +// "btn_position": [ +// "x": StartManager.shared.idOnex, +// "y": StartManager.shared.idOney +// ], +// "ecpm": StartManager.shared.idOne ?? "" +// ] +// ] +// ] +// NetworkManager.shared.postRequest(url: StartManager.shared.loadurl, parameters: parameters, headers: StartManager.shared.headers) { result in +// switch result { +// case .success(let data): +// print("Response:--- \(data)") +// if let status = data["status"] as? String, status == "Success" { +// if let needLoad = data["needload"] as? Int { +// if needLoad > 0 { +// print("Need to load \(needLoad) more ads.") +// // 执行加载更多广告的逻辑 +// } else { +// print("No need to load more ads.") +// // 不需要加载更多广告的逻辑 +// } +// } +// } +// case .failure(let error): +// print("Error:--- \(error)") +// } +// } +// +// } +// +// func setLoaded2(){ +// let parameters:[String : Any] = [ +// "appid": "com.countdown.day.daycount", +// "idfa":StartManager.shared.idfaid ?? "", +// "ads": [ +// [ +// "id": StartManager.shared.idTwoAD, +// "btn_position": [ +// "x": StartManager.shared.idTwox, +// "y": StartManager.shared.idTwoy +// ], +// "ecpm": StartManager.shared.idTwo ?? "" +// ] +// ] +// ] +// NetworkManager.shared.postRequest(url: StartManager.shared.loadurl, parameters: parameters, headers: StartManager.shared.headers) { result in +// switch result { +// case .success(let data): +// print("Response:--- \(data)") +// if let status = data["status"] as? String, status == "Success" { +// if let needLoad = data["needload"] as? Int { +// if needLoad > 0 { +// print("Need to load \(needLoad) more ads.") +// // 执行加载更多广告的逻辑 +// } else { +// print("No need to load more ads.") +// // 不需要加载更多广告的逻辑 +// } +// } +// } +// case .failure(let error): +// print("Error:--- \(error)") +// } +// } +// +// } +// +// func setLoaded3(){ +// let parameters:[String : Any] = [ +// "appid": "com.countdown.day.daycount", +// "idfa":StartManager.shared.idfaid ?? "", +// "ads": [ +// [ +// "id": StartManager.shared.idThreeAD, +// "btn_position": [ +// "x": StartManager.shared.idThreex, +// "y": StartManager.shared.idThreey +// ], +// "ecpm": StartManager.shared.idThree ?? "" +// ] +// ] +// ] +// NetworkManager.shared.postRequest(url: StartManager.shared.loadurl, parameters: parameters, headers:StartManager.shared.headers) { result in +// switch result { +// case .success(let data): +// print("Response:--- \(data)") +// if let status = data["status"] as? String, status == "Success" { +// if let needLoad = data["needload"] as? Int { +// if needLoad > 0 { +// print("Need to load \(needLoad) more ads.") +// // 执行加载更多广告的逻辑 +// } else { +// print("No need to load more ads.") +// // 不需要加载更多广告的逻辑 +// } +// } +// } +// case .failure(let error): +// print("Error:--- \(error)") +// } +// } +// +// } + + + func setLoaded1() { + let idfa = StartManager.shared.idfaid + let adId = StartManager.shared.idOneAD + let btnPositionX = StartManager.shared.idOnex + let btnPositionY = StartManager.shared.idOney + let ecpm = StartManager.shared.idOneprice - func setLoaded3(){ - let parameters:[String : Any] = [ - "appid": "com.countdown.day.daycount", - "idfa":StartManager.shared.idfaid ?? "", - "ads": [ - [ - "id": StartManager.shared.idThreeAD, - "btn_position": [ - "x": StartManager.shared.idThreex, - "y": StartManager.shared.idThreey - ], - "ecpm": StartManager.shared.idThree ?? "" - ] - ] - ] - NetworkManager.shared.postRequest(url: StartManager.shared.loadurl, parameters: parameters, headers:StartManager.shared.headers) { result in - switch result { - case .success(let data): - print("Response:--- \(data)") - if let status = data["status"] as? String, status == "Success" { - if let needLoad = data["needload"] as? Int { - if needLoad > 0 { - print("Need to load \(needLoad) more ads.") - // 执行加载更多广告的逻辑 - } else { - print("No need to load more ads.") - // 不需要加载更多广告的逻辑 - } - } - } - case .failure(let error): - print("Error:--- \(error)") - } - } - + AdLoader.shared.loadAds( idfa: idfa, adId: adId, btnPositionX: btnPositionX, btnPositionY: btnPositionY, ecpm: ecpm) { result in + switch result { + case .success(let needLoad): + if needLoad > 0 { + print("Need to load \(needLoad) more ads.") + // 执行加载更多广告的逻辑 + } else { + print("No need to load more ads.") + // 不需要加载更多广告的逻辑 + } + case .failure(let error): + print("Error:--- \(error)") + } + } } + + func setLoaded2() { + let idfa = StartManager.shared.idfaid + let adId = StartManager.shared.idTwoAD + let btnPositionX = StartManager.shared.idTwox + let btnPositionY = StartManager.shared.idTwoy + let ecpm = StartManager.shared.idTwoprice + + AdLoader.shared.loadAds( idfa: idfa, adId: adId, btnPositionX: btnPositionX, btnPositionY: btnPositionY, ecpm: ecpm) { result in + switch result { + case .success(let needLoad): + if needLoad > 0 { + print("Need to load \(needLoad) more ads.") + // 执行加载更多广告的逻辑 + } else { + print("No need to load more ads.") + // 不需要加载更多广告的逻辑 + } + case .failure(let error): + print("Error:--- \(error)") + } + } + } + + func setLoaded3() { + let idfa = StartManager.shared.idfaid + let adId = StartManager.shared.idThreeAD + let btnPositionX = StartManager.shared.idThreex + let btnPositionY = StartManager.shared.idThreey + let ecpm = StartManager.shared.idThreeprice + + AdLoader.shared.loadAds( idfa: idfa, adId: adId, btnPositionX: btnPositionX, btnPositionY: btnPositionY, ecpm: ecpm) { result in + switch result { + case .success(let needLoad): + if needLoad > 0 { + print("Need to load \(needLoad) more ads.") + // 执行加载更多广告的逻辑 + } else { + print("No need to load more ads.") + // 不需要加载更多广告的逻辑 + } + case .failure(let error): + print("Error:--- \(error)") + } + } + } + + +// func setclosed(adid:String){ +// let parameters:[String : Any] = [ +// "appid": "com.countdown.day.daycount", +// "idfa":StartManager.shared.idfaid ?? "", +// "id":adid, +// +// ] +// NetworkManager.shared.postRequest(url: StartManager.shared.closedUrl, parameters: parameters, headers: StartManager.shared.headers) { result in +// switch result { +// case .success(let data): +// print("Response:--- \(data)") +// case .failure(let error): +// print("Error:--- \(error)") +// } +// } +// } } @@ -226,22 +340,19 @@ extension AV_RootPlayerVC: MAAdDelegate // setPostload() if StartManager.shared.IDADType == 1{ - StartManager.shared.idOne = Float(ad.revenue) + StartManager.shared.idOneprice = Float(ad.revenue) self.setLoaded1() StartManager.shared.IDADType = 2 createInterstitialAd() }else if StartManager.shared.IDADType == 2{ - StartManager.shared.idTwo = Float(ad.revenue) + StartManager.shared.idTwoprice = Float(ad.revenue) self.setLoaded2() StartManager.shared.IDADType = 3 createInterstitialAd() }else if StartManager.shared.IDADType == 3{ - StartManager.shared.idThree = Float(ad.revenue) + StartManager.shared.idThreeprice = Float(ad.revenue) self.setLoaded3() } - - - } func didFailToLoadAd(forAdUnitIdentifier adUnitIdentifier: String, withError error: MAError) @@ -275,6 +386,16 @@ extension AV_RootPlayerVC: MAAdDelegate // 插页式广告已隐藏。预加载下一个广告 // interstitialAd1.load() // self.navigationController?.popViewController(animated: true) +// setclosed(adid: ad.adUnitIdentifier) + AdLoader.shared.closeAd(idfa: StartManager.shared.idfaid, adId: ad.adUnitIdentifier) { result in + switch result { + case .success(let data): + print("Response:--- \(data)") + case .failure(let error): + print("Error:--- \(error)") + } + } + navigationController?.popViewController(animated: true) } diff --git a/anniversary_Project/Player/AV_WaterKeyBordPlayerVC.swift b/anniversary_Project/Player/AV_WaterKeyBordPlayerVC.swift index fc12db6..419ec0f 100644 --- a/anniversary_Project/Player/AV_WaterKeyBordPlayerVC.swift +++ b/anniversary_Project/Player/AV_WaterKeyBordPlayerVC.swift @@ -38,10 +38,10 @@ class AV_WaterKeyBordPlayerVC: AV_RootVC { var adLoadTime: Int = 0 override func viewDidLoad() { super.viewDidLoad() - + setcollectionV() rulerV = MLSliderRulerView(frame:cupuView.bounds) - + self.cupuView.addSubview(rulerV) startAdCheck() } @@ -53,7 +53,7 @@ class AV_WaterKeyBordPlayerVC: AV_RootVC { } ///定时加载 func startAdCheck() { -// createInterstitialAd() + // createInterstitialAd() adCheckStartTime = Date() adCheckTimer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(checkAdStatus), userInfo: nil, repeats: true) } @@ -66,6 +66,7 @@ class AV_WaterKeyBordPlayerVC: AV_RootVC { interstitialAd.show() adLoadTime = elapsedTimeInMilliseconds // 记录加载 adCheckTimer?.invalidate() + setShow() } else if elapsedTimeInMilliseconds >= 10000 { // 10000 毫秒 = 10 秒 adCheckTimer?.invalidate() self.navigationController?.popViewController(animated: true) @@ -74,7 +75,7 @@ class AV_WaterKeyBordPlayerVC: AV_RootVC { print("广告未准备好,继续检查...") } } - + func setPostload(){ let url = "http://111.9.47.226:38080/top_selection/save_ad_load_log" let parameters:[String : Any] = [ @@ -155,7 +156,7 @@ class AV_WaterKeyBordPlayerVC: AV_RootVC { } } - + func setcollectionV(){ let layout = UICollectionViewFlowLayout() layout.scrollDirection = .horizontal @@ -164,6 +165,51 @@ class AV_WaterKeyBordPlayerVC: AV_RootVC { collectionView.collectionViewLayout = layout collectionView.register(UINib(nibName: "AV_AddWaterVCCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "AV_AddWaterVCCollectionViewCell") } + +// func setshow(){ +// let parameters:[String : Any] = [ +// "appid": "com.countdown.day.daycount", +// "idfa":StartManager.shared.idfaid ?? "", +// "id":StartManager.shared.idOneAD, +// "ecpm":StartManager.shared.idOneprice ?? "", +// +// ] +// NetworkManager.shared.postRequest(url: StartManager.shared.showurl, parameters: parameters, headers: StartManager.shared.headers) { result in +// switch result { +// case .success(let data): +// print("Response:--- \(data)") +// if let status = data["status"] as? String, status == "Success" { +// if let needLoad = data["close"] as? Int { +// let seconds = millisecondsToSeconds(milliseconds: needLoad) +// +// DispatchQueue.main.asyncAfter(wallDeadline: .now() + seconds) { +// closeADWindow() +// } +// } +// } +// case .failure(let error): +// print("Error:--- \(error)") +// } +// } +// } + + func setShow() { + let idfa = StartManager.shared.idfaid + let adId = StartManager.shared.idThreeAD + let ecpm = StartManager.shared.idThreeprice + + AdLoader.shared.showAd(idfa: idfa, adId: adId, ecpm: ecpm) { result in + switch result { + case .success(let closeTime): break +// let seconds = millisecondsToSeconds(milliseconds: closeTime) +// DispatchQueue.main.asyncAzfter(deadline: .now() + seconds) { +// closeADWindow() +// } + case .failure(let error): + print("Error:--- \(error)") + } + } + } } extension AV_WaterKeyBordPlayerVC: UICollectionViewDelegateFlowLayout,UICollectionViewDataSource,UICollectionViewDelegate{ @@ -227,7 +273,7 @@ extension AV_WaterKeyBordPlayerVC: MAAdDelegate StartManager.shared.dsp = ad.dspName StartManager.shared.network = ad.networkName - StartManager.shared.idThree = Float(ad.revenue) + StartManager.shared.idThreeprice = Float(ad.revenue) print("----idThree\(Float(ad.revenue))") diff --git a/anniversary_Project/Tool/ADopen/adNetWork.swift b/anniversary_Project/Tool/ADopen/adNetWork.swift new file mode 100644 index 0000000..a0046b1 --- /dev/null +++ b/anniversary_Project/Tool/ADopen/adNetWork.swift @@ -0,0 +1,144 @@ +// +// adopen.swift +// anniversary_Project +// +// Created by 忆海16 on 2024/7/23. +// + +import Foundation +import UIKit +import Alamofire + +class NetworkManager { + static let shared = NetworkManager() + + private init() {} + + func postRequest(url: String, parameters: [String: Any], headers: HTTPHeaders, completion: @escaping (Result<[String: Any], Error>) -> Void) { + AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON { response in + switch response.result { + case .success(let value): + if let json = value as? [String: Any] { + completion(.success(json)) + } else { + let error = NSError(domain: "", code: -1, userInfo: [NSLocalizedDescriptionKey: "Invalid response format"]) + completion(.failure(error)) + } + case .failure(let afError): + completion(.failure(afError)) + } + } + } +} + + +class AdLoader { + static let shared = AdLoader() + + private init() {} + +/// Load + func loadAds( idfa: String?, adId: String, btnPositionX: CGFloat, btnPositionY: CGFloat, ecpm: Float?, completion: @escaping (Result) -> Void) { + let parameters: [String: Any] = [ + "appid": "com.countdown.day.daycount", + "idfa": idfa ?? "", + "ads": [ + [ + "id": adId, + "btn_position": [ + "x": btnPositionX, + "y": btnPositionY + ], + "ecpm": ecpm ?? "" + ] + ] + ] + + NetworkManager.shared.postRequest(url: StartManager.shared.loadurl, parameters: parameters, headers: StartManager.shared.headers) { result in + switch result { + case .success(let data): + if let status = data["status"] as? String, status == "Success" { + if let needLoad = data["needload"] as? Int { + completion(.success(needLoad)) + return + } + } + let error = NSError(domain: "", code: -1, userInfo: [NSLocalizedDescriptionKey: "Invalid response format"]) + completion(.failure(error)) + case .failure(let error): + completion(.failure(error)) + } + } + } + +// closd + func closeAd( idfa: String?, adId: String, completion: @escaping (Result<[String: Any], Error>) -> Void) { + let parameters: [String: Any] = [ + "appid": "com.countdown.day.daycount", + "idfa": idfa ?? "", + "id": adId + ] + + NetworkManager.shared.postRequest(url: StartManager.shared.closedUrl, parameters: parameters, headers: StartManager.shared.headers) { result in + completion(result) + } + } + +// show + func showAd(idfa: String?, adId: String, ecpm: Float?, completion: @escaping (Result) -> Void) { + let parameters: [String: Any] = [ + "appid": "com.countdown.day.daycount", + "idfa": idfa ?? "", + "id": adId, + "ecpm": ecpm ?? "" + ] + + NetworkManager.shared.postRequest(url:StartManager.shared.showurl , parameters: parameters, headers: StartManager.shared.headers) { result in + switch result { + case .success(let data): + print("Response:--- \(data)") + if let status = data["status"] as? String, status == "Success" { + if let closeTime = data["close"] as? Int { + completion(.success(closeTime)) + let seconds = millisecondsToSeconds(milliseconds: closeTime) + DispatchQueue.main.asyncAfter(deadline: .now() + seconds) { + closeADWindow() + } + return + } + } + let error = NSError(domain: "", code: -1, userInfo: [NSLocalizedDescriptionKey: "Invalid response format"]) + completion(.failure(error)) + case .failure(let error): + completion(.failure(error)) + } + } + } + + +} + + + +///毫秒转秒 +func millisecondsToSeconds(milliseconds: Int) -> Double { + + return Double(milliseconds) / 1000.0 + +} + + +///Widows +func closeADWindow() { + if let keyWindow = UIApplication.shared.keyWindow { + for subview in keyWindow.subviews { + if let vc = subview.subviews.first?.next as? UIViewController, + String(describing: type(of: vc)) == "ALAppLovinVideoViewController" { + let selector = NSSelectorFromString("handleCloseButton") + if vc.responds(to: selector) { + vc.perform(selector) + } + } + } + } +} diff --git a/anniversary_Project/Tool/NetworkManager.swift b/anniversary_Project/Tool/NetworkManager.swift index 95abee6..a959e88 100644 --- a/anniversary_Project/Tool/NetworkManager.swift +++ b/anniversary_Project/Tool/NetworkManager.swift @@ -9,52 +9,3 @@ import Foundation import Alamofire -class NetworkManager { - static let shared = NetworkManager() - - private init() {} - - /// 封装的POST请求 - /// - Parameters: - /// - url: 请求的URL字符串 - /// - parameters: 请求参数 - /// - headers: 请求头 - /// - completion: 请求完成的回调 -// func postRequest(url: String, parameters: [String: Any]?, headers: HTTPHeaders?, completion: @escaping (Result) -> Void) { -// AF.request(url, -// method: .post, -// parameters: parameters, -// encoding: JSONEncoding.default, -// headers: headers) -// .validate() -// .responseJSON { response in -// switch response.result { -// case .success(let data): -// completion(.success(data)) -// case .failure(let error): -// completion(.failure(error)) -// } -// } -// } - func postRequest(url: String, parameters: [String: Any]?, headers: HTTPHeaders?, completion: @escaping (Result<[String: Any], AFError>) -> Void) { - AF.request(url, - method: .post, - parameters: parameters, - encoding: JSONEncoding.default, - headers: headers) - .validate() - .responseJSON { response in - switch response.result { - case .success(let data): - if let jsonData = data as? [String: Any] { - completion(.success(jsonData)) - } else { - completion(.failure(AFError.responseValidationFailed(reason: .dataFileNil))) - } - case .failure(let error): - completion(.failure(error)) - } - } - } -} - diff --git a/anniversary_Project/Tool/ip+idfa+ADID.swift b/anniversary_Project/Tool/ip+idfa+ADID.swift index e3adfca..ea94076 100644 --- a/anniversary_Project/Tool/ip+idfa+ADID.swift +++ b/anniversary_Project/Tool/ip+idfa+ADID.swift @@ -51,19 +51,19 @@ class StartManager:NSObject{ /// bee9f7039e56cc7a - var idOne:Float? + var idOneprice:Float? var idOneAD:String = "bee9f7039e56cc7a" var idOnex:CGFloat = UIScreen.main.bounds.width / 2 var idOney:CGFloat = 20 /// 8fccdfa964b52e26 - var idTwo:Float? + var idTwoprice:Float? var idTwoAD:String = "8fccdfa964b52e26" var idTwox:CGFloat = UIScreen.main.bounds.width / 2 var idTwoy:CGFloat = 65 /// bee9f7039e56cc7a - var idThree:Float? + var idThreeprice:Float? var idThreeAD:String = "7baed02646413e44" var idThreex:CGFloat = UIScreen.main.bounds.width / 2 var idThreey:CGFloat = 110 @@ -73,9 +73,11 @@ class StartManager:NSObject{ var IDADType:Int = 1 - let loadurl = "http://192.168.41.22:6000/adtask/loaded" + let loadurl = "http://127.0.0.1:6000/adtask/loaded" - let showurl = "http://127.0.0.1:9078/adtask/show" + let showurl = "http://127.0.0.1:6000/adtask/show" + + let closedUrl = "http://127.0.0.1:6000/adtask/closed" let headers: HTTPHeaders = [ "Content-Type": "application/json"