1.2.4 loft广告适配

This commit is contained in:
QinFendeZhou 2024-10-09 14:43:59 +08:00
parent f6bffda000
commit 0456fbecf0
9 changed files with 35 additions and 16 deletions

View File

@ -1927,7 +1927,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1.2.3.1; CURRENT_PROJECT_VERSION = 1.2.4.1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RAQJ4FNZUH; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = RAQJ4FNZUH;
@ -1948,7 +1948,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.2.3; MARKETING_VERSION = 1.2.4;
PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music; PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@ -1973,7 +1973,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1.2.3.1; CURRENT_PROJECT_VERSION = 1.2.4.1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RAQJ4FNZUH; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = RAQJ4FNZUH;
@ -1994,7 +1994,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.2.3; MARKETING_VERSION = 1.2.4;
PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music; PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";

View File

@ -27,14 +27,16 @@ class MPPositive_Debouncer: NSObject {
timer?.invalidate() timer?.invalidate()
timer = nil timer = nil
// //
timer = Timer.scheduledTimer(withTimeInterval: delay, repeats: false) { _ in timer = Timer.scheduledTimer(withTimeInterval: delay, repeats: false) {[weak self] _ in
guard let _ = self else { return }
action() action()
} }
} }
func playCall(_ action:@escaping (() -> Void)) { func playCall(_ action:@escaping (() -> Void)) {
playerTimer?.invalidate() playerTimer?.invalidate()
playerTimer = nil playerTimer = nil
playerTimer = Timer.scheduledTimer(withTimeInterval: 10, repeats: false) { _ in playerTimer = Timer.scheduledTimer(withTimeInterval: 10, repeats: false) {[weak self] _ in
guard let _ = self else { return }
action() action()
} }
} }

View File

@ -1725,7 +1725,9 @@ class MP_AdMobManager: NSObject, GADAudioVideoManagerDelegate, GADFullScreenCont
completeGlobalInterstitialAdBlock!() completeGlobalInterstitialAdBlock!()
} }
} }
DispatchQueue.main.asyncAfter(deadline: .now()+0.1) {
accessAppdelegate.setAudioActive()
}
} }
//广 //广
func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
@ -1781,7 +1783,9 @@ class MP_AdMobManager: NSObject, GADAudioVideoManagerDelegate, GADFullScreenCont
completeGlobalInterstitialAdBlock!() completeGlobalInterstitialAdBlock!()
} }
} }
DispatchQueue.main.asyncAfter(deadline: .now()+0.1) {
accessAppdelegate.setAudioActive()
}
} }
//MARK: - GADNativeAdLoaderDelegate //MARK: - GADNativeAdLoaderDelegate
// 广 // 广

View File

@ -426,7 +426,6 @@ class MP_AnalyticsManager: NSObject {
} }
///IP ///IP
func resource_IP_blackAction() { func resource_IP_blackAction() {
var parameters:[String:String] = [:] var parameters:[String:String] = [:]
if let ipInfo = UserDefaults.standard.object(forKey: "IP_Info") as? String { if let ipInfo = UserDefaults.standard.object(forKey: "IP_Info") as? String {
parameters["ip"] = ipInfo parameters["ip"] = ipInfo

View File

@ -829,6 +829,9 @@ extension MP_AppLovinManager: MAAdDelegate {
block() block()
} }
} }
DispatchQueue.main.asyncAfter(deadline: .now()+0.1) {
accessAppdelegate.setAudioActive()
}
} }
//广 //广
func didClick(_ ad: MAAd) { func didClick(_ ad: MAAd) {

View File

@ -27,7 +27,11 @@ class MPPositive_CustomPlayListModel: NSManagedObject, MP_CoreDataManageableDele
extension MPPositive_CustomPlayListModel { extension MPPositive_CustomPlayListModel {
///videos[MPPositive_CustomVideoModel] ///videos[MPPositive_CustomVideoModel]
var videosArray:[MPPositive_CustomVideoModel]{ var videosArray:[MPPositive_CustomVideoModel]{
let set = videos as? Set<MPPositive_CustomVideoModel> ?? [] // Core Data 访
self.willAccessValue(forKey: "videos")
let set = (videos as? Set<MPPositive_CustomVideoModel>)?.compactMap { $0 } ?? []
// Core Data 访
self.didAccessValue(forKey: "videos")
// //
let array = Array(set).sorted { item1, item2 in let array = Array(set).sorted { item1, item2 in

View File

@ -102,7 +102,7 @@ class MPPositive_MoreSongOperationsViewController: UIViewController, UIViewContr
// MP_HUD.loading() // MP_HUD.loading()
// //
MP_NetWorkManager.shared.requestNextList(browseViewModel.browseItem.playListId ?? "", videoId: browseViewModel.browseItem.videoId ?? "", clickTrackingParams: browseViewModel.browseItem.clickTrackingParams) { [weak self] listSongs in MP_NetWorkManager.shared.requestNextList(browseViewModel.browseItem.playListId ?? "", videoId: browseViewModel.browseItem.videoId ?? "", clickTrackingParams: browseViewModel.browseItem.clickTrackingParams) { [weak self] listSongs in
guard let first = listSongs.first else {return} guard let first = listSongs.first(where: {$0.videoId == (browseViewModel.browseItem.videoId ?? "")}) else {return}
let group = DispatchGroup() let group = DispatchGroup()
group.enter() group.enter()
improveDataforLycirsAndRelated(first) {[weak self] (result) in improveDataforLycirsAndRelated(first) {[weak self] (result) in
@ -142,7 +142,7 @@ class MPPositive_MoreSongOperationsViewController: UIViewController, UIViewContr
// MP_HUD.loading() // MP_HUD.loading()
// //
MP_NetWorkManager.shared.requestNextList(searchResultItemViewModel.item.playListId ?? "", videoId: searchResultItemViewModel.item.videoId ?? "", clickTrackingParams: searchResultItemViewModel.item.clickTrackingParams) { [weak self] listSongs in MP_NetWorkManager.shared.requestNextList(searchResultItemViewModel.item.playListId ?? "", videoId: searchResultItemViewModel.item.videoId ?? "", clickTrackingParams: searchResultItemViewModel.item.clickTrackingParams) { [weak self] listSongs in
guard let first = listSongs.first else {return} guard let first = listSongs.first(where: {$0.videoId == searchResultItemViewModel.item.videoId}) else {return}
let group = DispatchGroup() let group = DispatchGroup()
group.enter() group.enter()
improveDataforLycirsAndRelated(first) {[weak self] (result) in improveDataforLycirsAndRelated(first) {[weak self] (result) in
@ -182,7 +182,7 @@ class MPPositive_MoreSongOperationsViewController: UIViewController, UIViewContr
// MP_HUD.loading() // MP_HUD.loading()
// //
MP_NetWorkManager.shared.requestNextList("", videoId: collectionSongViewModel.collectionSong.videoId ?? "", clickTrackingParams: nil){ [weak self] listSongs in MP_NetWorkManager.shared.requestNextList("", videoId: collectionSongViewModel.collectionSong.videoId ?? "", clickTrackingParams: nil){ [weak self] listSongs in
guard let first = listSongs.first else {return} guard let first = listSongs.first(where: {$0.videoId == collectionSongViewModel.collectionSong.videoId}) else {return}
let group = DispatchGroup() let group = DispatchGroup()
group.enter() group.enter()
improveDataforLycirsAndRelated(first) {[weak self] (result) in improveDataforLycirsAndRelated(first) {[weak self] (result) in
@ -223,7 +223,7 @@ class MPPositive_MoreSongOperationsViewController: UIViewController, UIViewContr
// MP_HUD.loading() // MP_HUD.loading()
// //
MP_NetWorkManager.shared.requestNextList("", videoId: video?.videoId ?? "", clickTrackingParams: nil){ [weak self] listSongs in MP_NetWorkManager.shared.requestNextList("", videoId: video?.videoId ?? "", clickTrackingParams: nil){ [weak self] listSongs in
guard let first = listSongs.first else {return} guard let first = listSongs.first(where: {$0.videoId == video?.videoId}) else {return}
let group = DispatchGroup() let group = DispatchGroup()
group.enter() group.enter()
improveDataforLycirsAndRelated(first) {[weak self] (result) in improveDataforLycirsAndRelated(first) {[weak self] (result) in

View File

@ -244,7 +244,9 @@ extension MPPositive_TabBarController {
block() block()
} }
} }
DispatchQueue.main.asyncAfter(deadline: .now()+0.1) {
accessAppdelegate.setAudioActive()
}
} }
//广 //广
func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
@ -259,7 +261,9 @@ extension MPPositive_TabBarController {
MP_AdMobManager.shared.completePlayInterstitialAdBlock!() MP_AdMobManager.shared.completePlayInterstitialAdBlock!()
} }
} }
DispatchQueue.main.asyncAfter(deadline: .now()+0.1) {
accessAppdelegate.setAudioActive()
}
} }
//MARK: - AppLovin //MARK: - AppLovin
func didLoad(_ ad: MAAd) { func didLoad(_ ad: MAAd) {
@ -289,6 +293,9 @@ extension MPPositive_TabBarController {
block() block()
} }
} }
DispatchQueue.main.asyncAfter(deadline: .now()+0.1) {
accessAppdelegate.setAudioActive()
}
} }
func didClick(_ ad: MAAd) { func didClick(_ ad: MAAd) {