广告bug修复
This commit is contained in:
parent
73512c7ef1
commit
a6219af9ed
@ -39,3 +39,6 @@ NO.118 Xinling Rd Shanghai Branch
|
|||||||
沙盒账号:
|
沙盒账号:
|
||||||
jiaer@test.com
|
jiaer@test.com
|
||||||
Cje12345
|
Cje12345
|
||||||
|
|
||||||
|
thimra@test.com
|
||||||
|
Discover2024
|
||||||
|
@ -122,7 +122,7 @@ extension SceneDelegate {
|
|||||||
window?.rootViewController = guideVc
|
window?.rootViewController = guideVc
|
||||||
window?.makeKeyAndVisible()
|
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()
|
let openAdVC = SPAppOpenAdViewController()
|
||||||
openAdVC.didEndBlock = { [weak self] in
|
openAdVC.didEndBlock = { [weak self] in
|
||||||
self?.handleOpenApp()
|
self?.handleOpenApp()
|
||||||
|
@ -31,7 +31,7 @@ class SPAdAPI {
|
|||||||
static func requestAdUnlockVideo(shortPlayId: String, videoId: String, adInfo: SPAdInfo, completer: ((_ model: SPVideoUnlockModel?) -> Void)?) {
|
static func requestAdUnlockVideo(shortPlayId: String, videoId: String, adInfo: SPAdInfo, completer: ((_ model: SPVideoUnlockModel?) -> Void)?) {
|
||||||
|
|
||||||
var param = SPNetworkParameters(path: "/viewAdsUnlockVideo")
|
var param = SPNetworkParameters(path: "/viewAdsUnlockVideo")
|
||||||
// param.isLoding = true
|
param.isLoding = true
|
||||||
param.parameters = [
|
param.parameters = [
|
||||||
"short_play_id" : shortPlayId,
|
"short_play_id" : shortPlayId,
|
||||||
"video_id" : videoId,
|
"video_id" : videoId,
|
||||||
|
@ -31,16 +31,16 @@ class SPNetworkReachabilityManager {
|
|||||||
|
|
||||||
if path.usesInterfaceType(.wifi) {
|
if path.usesInterfaceType(.wifi) {
|
||||||
self.connectionType = .wifi
|
self.connectionType = .wifi
|
||||||
vpLog(message: "+++++++++++++++网络变化==wifi")
|
spLog(message: "+++++++++++++++网络变化==wifi")
|
||||||
} else if path.usesInterfaceType(.cellular) {
|
} else if path.usesInterfaceType(.cellular) {
|
||||||
self.connectionType = .cellular
|
self.connectionType = .cellular
|
||||||
vpLog(message: "+++++++++++++++网络变化==cellular")
|
spLog(message: "+++++++++++++++网络变化==cellular")
|
||||||
} else if path.usesInterfaceType(.wiredEthernet) {
|
} else if path.usesInterfaceType(.wiredEthernet) {
|
||||||
self.connectionType = .wiredEthernet
|
self.connectionType = .wiredEthernet
|
||||||
vpLog(message: "+++++++++++++++网络变化==wiredEthernet")
|
spLog(message: "+++++++++++++++网络变化==wiredEthernet")
|
||||||
} else {
|
} else {
|
||||||
self.connectionType = nil
|
self.connectionType = nil
|
||||||
vpLog(message: "+++++++++++++++网络变化==???")
|
spLog(message: "+++++++++++++++网络变化==???")
|
||||||
}
|
}
|
||||||
|
|
||||||
if path.status == .satisfied, self.connectionType != nil {
|
if path.status == .satisfied, self.connectionType != nil {
|
||||||
|
@ -144,11 +144,12 @@ extension SPWebViewController: SPRewardedAdManagerDelegate {
|
|||||||
SPRewardedAdManager.manager.delegate = nil
|
SPRewardedAdManager.manager.delegate = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func rewardedAdManagerDidDismiss(manager: SPRewardedAdManager) {
|
func rewardedAdManager(manager: SPRewardedAdManager, didDismiss adInfo: SPAdInfo) {
|
||||||
self.needAutoRefresh = true
|
self.needAutoRefresh = true
|
||||||
|
|
||||||
let js = "uploadCheckSignIn()"
|
let js = "uploadCheckSignIn()"
|
||||||
self.webView.evaluateJavaScript(js)
|
self.webView.evaluateJavaScript(js)
|
||||||
SPRewardedAdManager.manager.delegate = nil
|
SPRewardedAdManager.manager.delegate = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -86,6 +86,8 @@ class SPPlayerListViewController: SPViewController {
|
|||||||
|
|
||||||
deinit {
|
deinit {
|
||||||
NotificationCenter.default.removeObserver(self)
|
NotificationCenter.default.removeObserver(self)
|
||||||
|
self.collectionView.delegate = nil
|
||||||
|
self.collectionView.dataSource = nil
|
||||||
self.collectionView.removeFromSuperview()
|
self.collectionView.removeFromSuperview()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,6 +145,8 @@ class SPPlayerDetailRecommandView: HWPanModalContentView {
|
|||||||
extension SPPlayerDetailRecommandView {
|
extension SPPlayerDetailRecommandView {
|
||||||
|
|
||||||
@objc private func handleCloseButton() {
|
@objc private func handleCloseButton() {
|
||||||
|
self.bannerAd.requestStatAd(type: "close", errorMsg: nil)
|
||||||
|
|
||||||
self.dismiss(animated: true) {
|
self.dismiss(animated: true) {
|
||||||
}
|
}
|
||||||
self.clickCloseButton?()
|
self.clickCloseButton?()
|
||||||
|
@ -162,8 +162,9 @@ extension SPPlayerListViewModel {
|
|||||||
//MARK: -------------- SPAdManagerDelegate --------------
|
//MARK: -------------- SPAdManagerDelegate --------------
|
||||||
extension SPPlayerListViewModel: SPRewardedAdManagerDelegate {
|
extension SPPlayerListViewModel: SPRewardedAdManagerDelegate {
|
||||||
|
|
||||||
///用户获得奖励
|
func rewardedAdManager(manager: SPRewardedAdManager, didDismiss adInfo: SPAdInfo) {
|
||||||
func rewardedAdManager(manager: SPRewardedAdManager, userDidEarnReward adInfo: SPAdInfo) {
|
manager.delegate = nil
|
||||||
|
|
||||||
let videoInfo = self.currentPlayer?.videoInfo
|
let videoInfo = self.currentPlayer?.videoInfo
|
||||||
guard let shortPlayId = videoInfo?.short_play_id, let videoId = videoInfo?.short_play_video_id else { return }
|
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) {
|
func rewardedAdManager(manager: SPRewardedAdManager, didLoadFail error: any Error) {
|
||||||
manager.delegate = nil
|
manager.delegate = nil
|
||||||
|
@ -117,7 +117,7 @@ extension SPAppOpenAdManager: FullScreenContentDelegate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ad(_ ad: FullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
|
func ad(_ ad: FullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
|
||||||
self.requestStatAd(type: "show_failed", errorMsg: nil)
|
self.requestStatAd(type: "show_failed", errorMsg: error.localizedDescription)
|
||||||
|
|
||||||
appOpenAd = nil
|
appOpenAd = nil
|
||||||
isShowingAd = false
|
isShowingAd = false
|
||||||
@ -137,8 +137,6 @@ extension SPAppOpenAdManager: FullScreenContentDelegate {
|
|||||||
extension SPAppOpenAdManager {
|
extension SPAppOpenAdManager {
|
||||||
|
|
||||||
private func requestStatAd(type: String, errorMsg: String?) {
|
private func requestStatAd(type: String, errorMsg: String?) {
|
||||||
guard appOpenAd != nil else { return }
|
|
||||||
|
|
||||||
let model = SPStatAdModel()
|
let model = SPStatAdModel()
|
||||||
model.type = type
|
model.type = type
|
||||||
model.ads_id = adUnitID
|
model.ads_id = adUnitID
|
||||||
@ -151,6 +149,7 @@ extension SPAppOpenAdManager {
|
|||||||
|
|
||||||
|
|
||||||
@objc private func didEnterBackgroundNotification() {
|
@objc private func didEnterBackgroundNotification() {
|
||||||
|
guard appOpenAd != nil else { return }
|
||||||
|
|
||||||
self.requestStatAd(type: "Interrupt", errorMsg: nil)
|
self.requestStatAd(type: "Interrupt", errorMsg: nil)
|
||||||
}
|
}
|
||||||
|
@ -54,6 +54,7 @@ class SPBannerAd: NSObject {
|
|||||||
//MARK: -------------- BannerViewDelegate --------------
|
//MARK: -------------- BannerViewDelegate --------------
|
||||||
extension SPBannerAd: BannerViewDelegate {
|
extension SPBannerAd: BannerViewDelegate {
|
||||||
func bannerViewDidReceiveAd(_ bannerView: BannerView) {
|
func bannerViewDidReceiveAd(_ bannerView: BannerView) {
|
||||||
|
self.requestStatAd(type: "start", errorMsg: nil)
|
||||||
self.delegate?.bannerAdDidLoadFinish?(bannerAd: self)
|
self.delegate?.bannerAdDidLoadFinish?(bannerAd: self)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +73,6 @@ extension SPBannerAd: BannerViewDelegate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func bannerViewWillPresentScreen(_ bannerView: BannerView) {
|
func bannerViewWillPresentScreen(_ bannerView: BannerView) {
|
||||||
self.requestStatAd(type: "start", errorMsg: nil)
|
|
||||||
self.delegate?.bannerAdDidShow?(bannerAd: self)
|
self.delegate?.bannerAdDidShow?(bannerAd: self)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,7 +89,9 @@ extension SPBannerAd: BannerViewDelegate {
|
|||||||
//MARK: -------------- 统计 --------------
|
//MARK: -------------- 统计 --------------
|
||||||
extension SPBannerAd {
|
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()
|
let model = SPStatAdModel()
|
||||||
model.type = type
|
model.type = type
|
||||||
model.ads_id = adUnitID
|
model.ads_id = adUnitID
|
||||||
|
@ -12,10 +12,6 @@ import AppLovinSDK
|
|||||||
|
|
||||||
extension SPRewardedAdManager {
|
extension SPRewardedAdManager {
|
||||||
|
|
||||||
var appLovin_adUnitID: String {
|
|
||||||
return "ca-app-pub-3940256099942544/1712485313"
|
|
||||||
}
|
|
||||||
|
|
||||||
fileprivate struct AssociatedKeys {
|
fileprivate struct AssociatedKeys {
|
||||||
static var appLovin_rewardedAd: Int?
|
static var appLovin_rewardedAd: Int?
|
||||||
static var appLovin_needShowRewardedAd: Int?
|
static var appLovin_needShowRewardedAd: Int?
|
||||||
|
@ -19,7 +19,7 @@ import UIKit
|
|||||||
///广告被展示
|
///广告被展示
|
||||||
@objc optional func rewardedAdManagerDidShow(manager: SPRewardedAdManager)
|
@objc optional func rewardedAdManagerDidShow(manager: SPRewardedAdManager)
|
||||||
///广告被关闭
|
///广告被关闭
|
||||||
@objc optional func rewardedAdManagerDidDismiss(manager: SPRewardedAdManager)
|
@objc optional func rewardedAdManager(manager: SPRewardedAdManager, didDismiss adInfo: SPAdInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
class SPRewardedAdManager: NSObject {
|
class SPRewardedAdManager: NSObject {
|
||||||
@ -202,9 +202,22 @@ extension SPRewardedAdManager {
|
|||||||
self.requestStatAd(type: "load_failed", errorMsg: error.localizedDescription)
|
self.requestStatAd(type: "load_failed", errorMsg: error.localizedDescription)
|
||||||
}
|
}
|
||||||
|
|
||||||
self.isEnable = false
|
|
||||||
self.clean()
|
self.clean()
|
||||||
self.retryLoadAd()
|
|
||||||
|
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,12 +264,14 @@ extension SPRewardedAdManager {
|
|||||||
|
|
||||||
self.requestStatAd(type: "close", seconds: seconds, errorMsg: nil) { [weak self] in
|
self.requestStatAd(type: "close", seconds: seconds, errorMsg: nil) { [weak self] in
|
||||||
guard let self = self else { return }
|
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()
|
||||||
|
self.preloadRewardedAd()
|
||||||
}
|
}
|
||||||
|
|
||||||
self.clean()
|
|
||||||
preloadRewardedAd()
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
///广告被点击
|
///广告被点击
|
||||||
|
@ -67,10 +67,12 @@ class SPUserInfo: SPModel, SmartCodable, NSSecureCoding {
|
|||||||
if let user_level = coder.decodeObject(of: NSString.self, forKey: "user_level") as? String {
|
if let user_level = coder.decodeObject(of: NSString.self, forKey: "user_level") as? String {
|
||||||
self.user_level = UserLevel(rawValue: user_level)
|
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
|
family_name = coder.decodeObject(of: NSString.self, forKey: "family_name") as? String
|
||||||
giving_name = coder.decodeObject(of: NSString.self, forKey: "giving_name") as? String
|
giving_name = coder.decodeObject(of: NSString.self, forKey: "giving_name") as? String
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user