广告bug修复

This commit is contained in:
zeng 2025-07-15 15:42:15 +08:00
parent 73512c7ef1
commit a6219af9ed
13 changed files with 49 additions and 29 deletions

View File

@ -39,3 +39,6 @@ NO.118 Xinling Rd Shanghai Branch
沙盒账号:
jiaer@test.com
Cje12345
thimra@test.com
Discover2024

View File

@ -122,7 +122,7 @@ extension SceneDelegate {
window?.rootViewController = guideVc
window?.makeKeyAndVisible()
} else if !SPAPPTool.isAppOpen, hasOpenApp == true, SPNetworkReachabilityManager.manager.isReachable == true, SPLoginManager.manager.userInfo?.user_level == .ad { //广
} else if SPLoginManager.manager.userInfo?.user_level == .ad, !SPAPPTool.isAppOpen, hasOpenApp == true, SPNetworkReachabilityManager.manager.isReachable == true { //广
let openAdVC = SPAppOpenAdViewController()
openAdVC.didEndBlock = { [weak self] in
self?.handleOpenApp()

View File

@ -31,7 +31,7 @@ class SPAdAPI {
static func requestAdUnlockVideo(shortPlayId: String, videoId: String, adInfo: SPAdInfo, completer: ((_ model: SPVideoUnlockModel?) -> Void)?) {
var param = SPNetworkParameters(path: "/viewAdsUnlockVideo")
// param.isLoding = true
param.isLoding = true
param.parameters = [
"short_play_id" : shortPlayId,
"video_id" : videoId,

View File

@ -31,16 +31,16 @@ class SPNetworkReachabilityManager {
if path.usesInterfaceType(.wifi) {
self.connectionType = .wifi
vpLog(message: "+++++++++++++++网络变化==wifi")
spLog(message: "+++++++++++++++网络变化==wifi")
} else if path.usesInterfaceType(.cellular) {
self.connectionType = .cellular
vpLog(message: "+++++++++++++++网络变化==cellular")
spLog(message: "+++++++++++++++网络变化==cellular")
} else if path.usesInterfaceType(.wiredEthernet) {
self.connectionType = .wiredEthernet
vpLog(message: "+++++++++++++++网络变化==wiredEthernet")
spLog(message: "+++++++++++++++网络变化==wiredEthernet")
} else {
self.connectionType = nil
vpLog(message: "+++++++++++++++网络变化==???")
spLog(message: "+++++++++++++++网络变化==???")
}
if path.status == .satisfied, self.connectionType != nil {

View File

@ -144,11 +144,12 @@ extension SPWebViewController: SPRewardedAdManagerDelegate {
SPRewardedAdManager.manager.delegate = nil
}
func rewardedAdManagerDidDismiss(manager: SPRewardedAdManager) {
func rewardedAdManager(manager: SPRewardedAdManager, didDismiss adInfo: SPAdInfo) {
self.needAutoRefresh = true
let js = "uploadCheckSignIn()"
self.webView.evaluateJavaScript(js)
SPRewardedAdManager.manager.delegate = nil
}
}

View File

@ -86,6 +86,8 @@ class SPPlayerListViewController: SPViewController {
deinit {
NotificationCenter.default.removeObserver(self)
self.collectionView.delegate = nil
self.collectionView.dataSource = nil
self.collectionView.removeFromSuperview()
}

View File

@ -145,6 +145,8 @@ class SPPlayerDetailRecommandView: HWPanModalContentView {
extension SPPlayerDetailRecommandView {
@objc private func handleCloseButton() {
self.bannerAd.requestStatAd(type: "close", errorMsg: nil)
self.dismiss(animated: true) {
}
self.clickCloseButton?()

View File

@ -162,8 +162,9 @@ extension SPPlayerListViewModel {
//MARK: -------------- SPAdManagerDelegate --------------
extension SPPlayerListViewModel: SPRewardedAdManagerDelegate {
///
func rewardedAdManager(manager: SPRewardedAdManager, userDidEarnReward adInfo: SPAdInfo) {
func rewardedAdManager(manager: SPRewardedAdManager, didDismiss adInfo: SPAdInfo) {
manager.delegate = nil
let videoInfo = self.currentPlayer?.videoInfo
guard let shortPlayId = videoInfo?.short_play_id, let videoId = videoInfo?.short_play_video_id else { return }
@ -181,9 +182,6 @@ extension SPPlayerListViewModel: SPRewardedAdManagerDelegate {
}
}
func rewardedAdManagerDidDismiss(manager: SPRewardedAdManager) {
manager.delegate = nil
}
func rewardedAdManager(manager: SPRewardedAdManager, didLoadFail error: any Error) {
manager.delegate = nil

View File

@ -117,7 +117,7 @@ extension SPAppOpenAdManager: FullScreenContentDelegate {
}
func ad(_ ad: FullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
self.requestStatAd(type: "show_failed", errorMsg: nil)
self.requestStatAd(type: "show_failed", errorMsg: error.localizedDescription)
appOpenAd = nil
isShowingAd = false
@ -137,8 +137,6 @@ extension SPAppOpenAdManager: FullScreenContentDelegate {
extension SPAppOpenAdManager {
private func requestStatAd(type: String, errorMsg: String?) {
guard appOpenAd != nil else { return }
let model = SPStatAdModel()
model.type = type
model.ads_id = adUnitID
@ -151,6 +149,7 @@ extension SPAppOpenAdManager {
@objc private func didEnterBackgroundNotification() {
guard appOpenAd != nil else { return }
self.requestStatAd(type: "Interrupt", errorMsg: nil)
}

View File

@ -54,6 +54,7 @@ class SPBannerAd: NSObject {
//MARK: -------------- BannerViewDelegate --------------
extension SPBannerAd: BannerViewDelegate {
func bannerViewDidReceiveAd(_ bannerView: BannerView) {
self.requestStatAd(type: "start", errorMsg: nil)
self.delegate?.bannerAdDidLoadFinish?(bannerAd: self)
}
@ -72,7 +73,6 @@ extension SPBannerAd: BannerViewDelegate {
}
func bannerViewWillPresentScreen(_ bannerView: BannerView) {
self.requestStatAd(type: "start", errorMsg: nil)
self.delegate?.bannerAdDidShow?(bannerAd: self)
}
@ -89,7 +89,9 @@ extension SPBannerAd: BannerViewDelegate {
//MARK: -------------- --------------
extension SPBannerAd {
private func requestStatAd(type: String, errorMsg: String?) {
func requestStatAd(type: String, errorMsg: String?) {
guard self.view.superview != nil else { return }
let model = SPStatAdModel()
model.type = type
model.ads_id = adUnitID

View File

@ -12,10 +12,6 @@ import AppLovinSDK
extension SPRewardedAdManager {
var appLovin_adUnitID: String {
return "ca-app-pub-3940256099942544/1712485313"
}
fileprivate struct AssociatedKeys {
static var appLovin_rewardedAd: Int?
static var appLovin_needShowRewardedAd: Int?

View File

@ -19,7 +19,7 @@ import UIKit
///广
@objc optional func rewardedAdManagerDidShow(manager: SPRewardedAdManager)
///广
@objc optional func rewardedAdManagerDidDismiss(manager: SPRewardedAdManager)
@objc optional func rewardedAdManager(manager: SPRewardedAdManager, didDismiss adInfo: SPAdInfo)
}
class SPRewardedAdManager: NSObject {
@ -202,9 +202,22 @@ extension SPRewardedAdManager {
self.requestStatAd(type: "load_failed", errorMsg: error.localizedDescription)
}
self.isEnable = false
self.clean()
if self.adInfo?.platform_key != .google {//广
self.isLoadingRewardedAd = true
let adInfo = SPAdInfo()
adInfo.platform_key = .google
adInfo.ads_id = SPAdManager.manager.admob_rewardedAdUnitID
self.adInfo = adInfo
self.admob_loadRewardedAd(adInfo: adInfo)
} else {
self.isEnable = false
self.retryLoadAd()
}
}
@ -251,11 +264,13 @@ extension SPRewardedAdManager {
self.requestStatAd(type: "close", seconds: seconds, errorMsg: nil) { [weak self] in
guard let self = self else { return }
self.delegate?.rewardedAdManagerDidDismiss?(manager: self)
if let adInfo = self.adInfo {
self.delegate?.rewardedAdManager?(manager: self, didDismiss: adInfo)
}
self.clean()
preloadRewardedAd()
self.preloadRewardedAd()
}
}

View File

@ -67,10 +67,12 @@ class SPUserInfo: SPModel, SmartCodable, NSSecureCoding {
if let user_level = coder.decodeObject(of: NSString.self, forKey: "user_level") as? String {
self.user_level = UserLevel(rawValue: user_level)
}
is_vip = coder.decodeBool(forKey: "is_vip")
is_vip = coder.decodeObject(of: NSNumber.self, forKey: "is_vip")?.boolValue
family_name = coder.decodeObject(of: NSString.self, forKey: "family_name") as? String
giving_name = coder.decodeObject(of: NSString.self, forKey: "giving_name") as? String
}
}