102 lines
3.0 KiB
Swift
102 lines
3.0 KiB
Swift
////
|
|
//// VPGoogleRewardedAd.swift
|
|
//// Veloria
|
|
////
|
|
//// Created by 湖南秦九 on 2025/7/14.
|
|
////
|
|
//
|
|
//import UIKit
|
|
//#if canImport(GoogleMobileAds)
|
|
//import GoogleMobileAds
|
|
//#endif
|
|
//
|
|
//class VPGoogleRewardedAd: NSObject, VPRewardedAd {
|
|
//
|
|
//
|
|
//
|
|
//#if canImport(GoogleMobileAds)
|
|
// private var rewardedAd: RewardedAd?
|
|
//#endif
|
|
//
|
|
// weak var delegate: VPRewardedAdDelegate?
|
|
//
|
|
// var adInfo: VPAdInfo?
|
|
//
|
|
// var isReady: Bool {
|
|
//#if canImport(GoogleMobileAds)
|
|
// if rewardedAd != nil {
|
|
// return true
|
|
// } else {
|
|
// return false
|
|
// }
|
|
//#else
|
|
// return false
|
|
//#endif
|
|
// }
|
|
//
|
|
// func loadAd(adInfo: VPAdInfo) {
|
|
//#if canImport(GoogleMobileAds)
|
|
// self.adInfo = adInfo
|
|
//#if DEBUG
|
|
// adInfo.ads_id = VPAdManager.google_rewardedAdUnitID
|
|
//#endif
|
|
// let adUnitID = adInfo.ads_id ?? ""
|
|
// let request = Request()
|
|
//
|
|
// RewardedAd.load(with: adUnitID, request: request) { [weak self] rewardedAd, error in
|
|
// guard let self = self else { return }
|
|
// if let error = error {
|
|
// self.delegate?.rewardedAd?(ad: self, didLoadFail: error)
|
|
// return
|
|
// }
|
|
// self.rewardedAd = rewardedAd
|
|
// self.rewardedAd?.fullScreenContentDelegate = self
|
|
// self.delegate?.rewardedAdDidLoadFinish?(ad: self)
|
|
// }
|
|
//#endif
|
|
// }
|
|
//
|
|
// func showAd() {
|
|
//#if canImport(GoogleMobileAds)
|
|
// guard let rewardedAd = rewardedAd else { return }
|
|
//
|
|
// rewardedAd.present(from: nil) { [weak self] in
|
|
// guard let self = self else { return }
|
|
// guard let adInfo = self.adInfo else { return }
|
|
// self.delegate?.rewardedAd?(ad: self, userDidEarnReward: adInfo)
|
|
// }
|
|
//#endif
|
|
// }
|
|
//
|
|
//
|
|
//
|
|
//}
|
|
//
|
|
////MARK: -------------- FullScreenContentDelegate --------------
|
|
//#if canImport(GoogleMobileAds)
|
|
//extension VPGoogleRewardedAd: FullScreenContentDelegate {
|
|
//
|
|
// /// Tells the delegate that the ad failed to present full screen content.
|
|
// func ad(_ ad: FullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
|
|
// self.delegate?.rewardedAd?(ad: self, didDisplayFail: error)
|
|
// }
|
|
//
|
|
// /// Tells the delegate that the ad will present full screen content.
|
|
// func adWillPresentFullScreenContent(_ ad: FullScreenPresentingAd) {
|
|
// print("====Ad will present full screen content.")
|
|
// self.delegate?.rewardedAdDidShow?(ad: self)
|
|
// }
|
|
//
|
|
// /// Tells the delegate that the ad dismissed full screen content.
|
|
// func adDidDismissFullScreenContent(_ ad: FullScreenPresentingAd) {
|
|
// print("====Ad did dismiss full screen content.")
|
|
// self.delegate?.rewardedAdDidDismiss?(ad: self)
|
|
// }
|
|
//
|
|
// func adDidRecordClick(_ ad: any FullScreenPresentingAd) {
|
|
// self.delegate?.rewardedAdDidClick?(ad: self)
|
|
// }
|
|
//
|
|
//}
|
|
//#endif
|