Commit d95f378d authored by CZ1004's avatar CZ1004

广告逻辑添加第一个版本

parent 09c95bff
......@@ -13,6 +13,9 @@ class AdvManager : NSObject,FullScreenContentDelegate {
static let shared : AdvManager = AdvManager()
// 看完广告的回调
var finisedCallBack:()->Void = {}
// 激励插页广告
var rewardedInterstitialAd: RewardedInterstitialAd?
......@@ -26,7 +29,7 @@ class AdvManager : NSObject,FullScreenContentDelegate {
let advDeleteResouceDic : [Int:Int] = [3:5,2:5,1:4,0:0]
// 进入页面之后30秒
var advTimeAfterInAPP : Int = 30000
var advTimeAfterInAPP : Int = 30
var timer: Timer?
......@@ -128,6 +131,7 @@ class AdvManager : NSObject,FullScreenContentDelegate {
// 更新值
updateAdvStrategyValue()
finisedCallBack()
}
......
//
// AdvTipDeleteController.swift
// AdvTipDeleteView.swift
// PhoneManager
//
// Created by edy on 2025/4/18.
// Created by edy on 2025/4/21.
//
import Foundation
......@@ -30,7 +30,9 @@ struct AdvTipModel {
}
}
class AdvTipDeleteController : BaseViewController {
class AdvTipDeleteView : UIView {
var deleteButtonClickCallback : (Bool)->Void = {isMore in }
var deleteType : TipDeleteType?
// getOtherInfoByType()
......@@ -42,29 +44,11 @@ class AdvTipDeleteController : BaseViewController {
// self.collectionView.reloadData()
// }, completion: nil)
var tipDeleteModel : AdvTipModel?
// {
// didSet{
// DispatchQueue.main.async {
// self.tipTitle.text = self.tipDeleteModel.titleText
// self.tipDetailTitle.text = self.tipDeleteModel.detailTitleText
// self.deleteMoreButton.setTitle(self.tipDeleteModel.deleteMoreText, for: .normal)
// self.deleteLessButton.setTitle(self.tipDeleteModel.deleteLessText, for: .normal)
// }
// }
// }
var tipDeleteModel : AdvTipModel = AdvTipModel(titleText: "", detailTitleText: "", showLessButton: false, deleteMoreText: "", deleteLessText: "")
lazy var shadowView : UIView = {
let view = UIView()
view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5000)
return view
}()
lazy var tipView : UIView = {
let view = UIView()
view.backgroundColor = .white
......@@ -85,6 +69,7 @@ class AdvTipDeleteController : BaseViewController {
view.numberOfLines = 0
view.font = UIFont.systemFont(ofSize: 20, weight: .bold)
view.textColor = UIColor(red: 0.1, green: 0.1, blue: 0.1, alpha: 1)
view.textAlignment = .center
return view
}()
......@@ -93,6 +78,7 @@ class AdvTipDeleteController : BaseViewController {
view.numberOfLines = 0
view.font = UIFont.systemFont(ofSize: 14, weight: .regular)
view.textColor = UIColor(red: 0.4, green: 0.4, blue: 0.4, alpha: 1)
view.textAlignment = .center
return view
}()
......@@ -100,7 +86,6 @@ class AdvTipDeleteController : BaseViewController {
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.minimumInteritemSpacing = 8
layout.minimumLineSpacing = 0
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
collectionView.dataSource = self
collectionView.delegate = self
......@@ -118,6 +103,8 @@ class AdvTipDeleteController : BaseViewController {
view.clipsToBounds = true
view.layer.cornerRadius = 24
view.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .bold)
view.setImage(UIImage(named: "ic_ad_pop"), for: .normal)
view.addTarget(self, action: #selector(deleteMoreButtonSelect), for: .touchUpInside)
return view
}()
......@@ -129,16 +116,14 @@ class AdvTipDeleteController : BaseViewController {
view.clipsToBounds = true
view.layer.cornerRadius = 24
view.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .bold)
view.addTarget(self, action: #selector(deleteLessButtonSelect), for: .touchUpInside)
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(shadowView)
self.shadowView.addSubview(self.tipView)
override init(frame: CGRect) {
super.init(frame: frame)
self.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5000)
self.addSubview(self.tipView)
self.tipView.addSubview(self.closeButton)
self.tipView.addSubview(self.tipTitle)
self.tipView.addSubview(self.tipDetailTitle)
......@@ -149,10 +134,6 @@ class AdvTipDeleteController : BaseViewController {
self.shadowView.snp.makeConstraints { make in
make.left.right.top.bottom.equalToSuperview()
}
self.tipView.snp.makeConstraints { make in
make.center.equalToSuperview()
make.width.equalTo(345)
......@@ -188,47 +169,37 @@ class AdvTipDeleteController : BaseViewController {
make.height.equalTo(48)
make.centerX.equalToSuperview()
}
self.deleteMoreButton.snp.makeConstraints { make in
self.deleteLessButton.snp.makeConstraints { make in
make.top.equalTo(self.deleteMoreButton.snp.bottom).offset(4)
make.width.equalTo(305)
make.height.equalTo(48)
make.centerX.equalToSuperview()
}
}
}
class ImageCell: UICollectionViewCell {
static let reuseIdentifier = "ImageCell"
let imageView: UIImageView = {
let imageView = UIImageView()
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
imageView.layer.cornerRadius = 12
return imageView
}()
override init(frame: CGRect) {
super.init(frame: frame)
contentView.addSubview(imageView)
imageView.frame = contentView.bounds
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension AdvTipDeleteController:UICollectionViewDataSource, UICollectionViewDelegateFlowLayout{
}
func getOtherInfoByType() {
extension AdvTipDeleteView : UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
func getOtherInfoByType(type : PhotsFileType) {
// 首先获取第一个button显示的内容
let photosCount = self.dataSource!.count > 25 ? 25 : self.dataSource?.count
let deleteButtonTitle = "Delete \(String(describing: photosCount)) Duplicates"
let deleteButtonTitle = "Delete \(photosCount ?? 0) \(type.rawValue)"
// 获取当前免费次数
let freeCount = AdvManager.shared.defaultFreeTimes
// 获取次数对应的删除照片数量
let freeDeleteCount = AdvManager.shared.advDeleteResouceDic[freeCount]!
var deleteLessText = ""
if type == .videos || type == .SimilarVideos {
deleteLessText = "Delete Only \(freeDeleteCount) Videos"
}else {
deleteLessText = "Delete Only \(freeDeleteCount) Photos"
}
switch self.deleteType {
......@@ -237,7 +208,7 @@ extension AdvTipDeleteController:UICollectionViewDataSource, UICollectionViewDel
titleText: "Watch a rewarded ad to delete photos",
detailTitleText: "You need to watch an ad to delete 25 photos with the free version.",
showLessButton: true,
deleteMoreText: deleteButtonTitle, deleteLessText: "Delete Only 5 Photos")
deleteMoreText: deleteButtonTitle, deleteLessText: deleteLessText)
case .deletePhotoOne:
self.tipDeleteModel = AdvTipModel.init(
titleText: "Watch a rewarded ad to delete photos",
......@@ -249,7 +220,7 @@ extension AdvTipDeleteController:UICollectionViewDataSource, UICollectionViewDel
titleText: "Watch a rewarded ad to delete videos",
detailTitleText: "You need to watch an ad to delete 25 videos with the free version.",
showLessButton: true,
deleteMoreText: deleteButtonTitle, deleteLessText: "Delete Only 5 Photos")
deleteMoreText: deleteButtonTitle, deleteLessText: deleteLessText)
case .deleteVideoOne:
self.tipDeleteModel = AdvTipModel.init(
titleText: "Watch a rewarded ad to delete videos",
......@@ -264,6 +235,12 @@ extension AdvTipDeleteController:UICollectionViewDataSource, UICollectionViewDel
deleteMoreText: deleteButtonTitle, deleteLessText: "")
}
DispatchQueue.main.async {
self.tipTitle.text = self.tipDeleteModel.titleText
self.tipDetailTitle.text = self.tipDeleteModel.detailTitleText
self.deleteMoreButton.setTitle(self.tipDeleteModel.deleteMoreText, for: .normal)
self.deleteLessButton.setTitle(self.tipDeleteModel.deleteLessText, for: .normal)
}
}
......@@ -282,9 +259,43 @@ extension AdvTipDeleteController:UICollectionViewDataSource, UICollectionViewDel
return CGSize(width: 104, height: 104)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 8
}
@objc func closeButtonAction(){
self.dismiss(animated: false)
self.removeFromSuperview()
}
@objc func deleteMoreButtonSelect() {
deleteButtonClickCallback(true)
}
@objc func deleteLessButtonSelect() {
deleteButtonClickCallback(false)
}
}
class ImageCell: UICollectionViewCell {
static let reuseIdentifier = "ImageCell"
let imageView: UIImageView = {
let imageView = UIImageView()
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
imageView.layer.cornerRadius = 12
return imageView
}()
override init(frame: CGRect) {
super.init(frame: frame)
contentView.addSubview(imageView)
imageView.frame = contentView.bounds
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
//
// AdvTipSelectController.swift
// AdvTipSelectView.swift
// PhoneManager
//
// Created by edy on 2025/4/18.
// Created by edy on 2025/4/21.
//
import Foundation
enum TipSelectType {
case selectTypeCompressVideo
case selectTypeCompressPhoto
......@@ -28,38 +27,22 @@ struct AdvTipSelectModel {
}
}
class AdvTipSelectController : UIViewController {
@MainActor required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
var selectType : TipSelectType {
didSet{
getOtherInfoByType()
}
}
class AdvTipSelectView : UIView {
var selectClickCallback : (Bool)->Void = {isSrue in }
var tipSelectModel : AdvTipSelectModel {
didSet{
DispatchQueue.main.async {
self.tipTitle.text = self.tipSelectModel.titleText
self.tipDetailTitle.text = self.tipSelectModel.detailTitleText
self.firstButton.setTitle(self.tipSelectModel.deleteMoreText, for: .normal)
self.secondButton.setTitle(self.tipSelectModel.deleteLessText, for: .normal)
}
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
var selectType : TipSelectType?
var tipSelectModel : AdvTipSelectModel?
lazy var shadowView : UIView = {
let view = UIView()
view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5000)
return view
}()
lazy var tipView : UIView = {
let view = UIView()
......@@ -89,6 +72,7 @@ class AdvTipSelectController : UIViewController {
view.numberOfLines = 0
view.font = UIFont.systemFont(ofSize: 20, weight: .bold)
view.textColor = UIColor(red: 0.1, green: 0.1, blue: 0.1, alpha: 1)
view.textAlignment = .center
return view
}()
......@@ -97,6 +81,7 @@ class AdvTipSelectController : UIViewController {
view.numberOfLines = 0
view.font = UIFont.systemFont(ofSize: 14, weight: .regular)
view.textColor = UIColor(red: 0.4, green: 0.4, blue: 0.4, alpha: 1)
view.textAlignment = .center
return view
}()
......@@ -109,6 +94,8 @@ class AdvTipSelectController : UIViewController {
view.clipsToBounds = true
view.layer.cornerRadius = 24
view.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .bold)
view.setImage(UIImage(named: "ic_ad_pop"), for: .normal)
view.addTarget(self, action: #selector(buttonSureSelectAction), for: .touchUpInside)
return view
}()
......@@ -120,16 +107,17 @@ class AdvTipSelectController : UIViewController {
view.clipsToBounds = true
view.layer.cornerRadius = 24
view.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .bold)
view.addTarget(self, action: #selector(buttonCancelSelectAction), for: .touchUpInside)
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
self.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5000)
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(shadowView)
self.shadowView.addSubview(self.tipView)
self.addSubview(self.tipView)
self.tipView.addSubview(self.closeButton)
self.tipView.addSubview(self.logoView)
self.tipView.addSubview(self.tipTitle)
......@@ -140,9 +128,6 @@ class AdvTipSelectController : UIViewController {
self.shadowView.snp.makeConstraints { make in
make.left.right.top.bottom.equalToSuperview()
}
self.tipView.snp.makeConstraints { make in
make.center.equalToSuperview()
......@@ -187,10 +172,13 @@ class AdvTipSelectController : UIViewController {
make.height.equalTo(48)
make.centerX.equalToSuperview()
}
}
}
extension AdvTipSelectController {
extension AdvTipSelectView{
func getOtherInfoByType() {
switch self.selectType {
case .selectTypeCompressVideo:
......@@ -208,10 +196,26 @@ extension AdvTipSelectController {
titleText: "Watch a rewarded ad to set Pro Animations",
detailTitleText: "You need to watch an ad to set amazing animations that are unlimited for pro users.",
deleteMoreText: "Set Animation", deleteLessText: "Cancel")
case .none:
self.tipSelectModel = AdvTipSelectModel.init(
titleText: "",
detailTitleText: "",
deleteMoreText: "", deleteLessText: "")
}
self.tipTitle.text = self.tipSelectModel?.titleText
self.tipDetailTitle.text = self.tipSelectModel?.detailTitleText
self.firstButton.setTitle(self.tipSelectModel?.deleteMoreText, for: .normal)
self.secondButton.setTitle(self.tipSelectModel?.deleteLessText, for: .normal)
}
@objc func closeButtonAction(){
self.view.removeFromSuperview()
self.removeFromSuperview()
}
@objc func buttonSureSelectAction(){
self.selectClickCallback(true)
self.removeFromSuperview()
}
@objc func buttonCancelSelectAction(){
self.removeFromSuperview()
}
}
......@@ -50,6 +50,25 @@ class ChargeInfoViewController:BaseViewController {
sview.flag = self.flag
sview.isHidden = type == .setting ? false : true
sview.settingCallBack = {
if HomePayModel.share.isNoAd == false {
// 弹出提示框
let alertView = AdvTipSelectView(frame: self.view.bounds)
alertView.selectType = .selectTypeSetAnimation
alertView.getOtherInfoByType()
self.view.addSubview(alertView)
alertView.selectClickCallback = {isSure in
self.popAdverTisement()
AdvManager.shared.finisedCallBack = {
self.setAnimation()
}
}
}else {
self.setAnimation()
}
}
return sview
}()
......@@ -157,4 +176,41 @@ class ChargeInfoViewController:BaseViewController {
isShowSettingView = !(isShowSettingView ?? false)
isShowBack = !(isShowBack ?? false)
}
func setAnimation(){
// 存储到userDefaults
UserDefaults.standard.set(String(self.flag!), forKey: "chargePicInfo")
let alert = UIAlertController(title: nil, message: "Done!", preferredStyle: .alert)
self.present(alert, animated: true, completion: nil)
// 2 秒后关闭弹窗
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
alert.dismiss(animated: true, completion: nil)
// 是否是第一次进入
let chargeGuideFinished = UserDefaults.standard.object(forKey: "ChargeGuideFinished")
if chargeGuideFinished == nil {
let vc : ChargeGuideStartController = ChargeGuideStartController()
vc.modalPresentationStyle = .fullScreen
self.present(vc, animated: true)
vc.callback = {[weak self] text in
guard let self else {return}
let vc : ChargeGuideController = ChargeGuideController()
self.navigationController?.pushViewController(vc, animated: true)
}
UserDefaults.standard.set("ChargeGuideFinished", forKey: "ChargeGuideFinished")
}else{
self.navigationController?.popViewController(animated: true)
}
}
}
/// 弹出广告
func popAdverTisement(){
AdvManager.shared.showInterstitialAd(vc: self)
}
}
......@@ -9,6 +9,8 @@ import UIKit
class ChargeInfoSettingView:UIView {
var settingCallBack:()->Void = {}
var model : ChargeDataModel?
var flag : Int?
......@@ -52,34 +54,12 @@ class ChargeInfoSettingView:UIView {
}
@objc func settingBtnClick() {
// 存储到userDefaults
UserDefaults.standard.set(String(flag!), forKey: "chargePicInfo")
let alert = UIAlertController(title: nil, message: "Done!", preferredStyle: .alert)
self.responderViewController()?.present(alert, animated: true, completion: nil)
// 2 秒后关闭弹窗
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
alert.dismiss(animated: true, completion: nil)
// 是否是第一次进入
let chargeGuideFinished = UserDefaults.standard.object(forKey: "ChargeGuideFinished")
if chargeGuideFinished == nil {
let vc : ChargeGuideStartController = ChargeGuideStartController()
vc.modalPresentationStyle = .fullScreen
self.responderViewController()?.present(vc, animated: true)
vc.callback = {[weak self] text in
guard let self else {return}
let vc : ChargeGuideController = ChargeGuideController()
self.responderViewController()?.navigationController?.pushViewController(vc, animated: true)
}
UserDefaults.standard.set("ChargeGuideFinished", forKey: "ChargeGuideFinished")
}else{
self.responderViewController()?.navigationController?.popViewController(animated: true)
}
}
self.settingCallBack()
}
}
......@@ -323,8 +323,19 @@ extension CompressController:WaterfallMutiSectionDelegate,UICollectionViewDataSo
if HomePayModel.share.isNoAd == false {
HomePayViewController.show {
// 弹出提示框
let alertView = AdvTipSelectView(frame: self.view.bounds)
alertView.selectType = .selectTypeCompressPhoto
alertView.getOtherInfoByType()
self.view.addSubview(alertView)
alertView.selectClickCallback = {isSure in
self.popAdverTisement()
AdvManager.shared.finisedCallBack = {
self.jumpToNextPage()
}
}
}
}else {
self.jumpToNextPage()
}
......@@ -332,6 +343,11 @@ extension CompressController:WaterfallMutiSectionDelegate,UICollectionViewDataSo
}
/// 弹出广告
func popAdverTisement(){
AdvManager.shared.showInterstitialAd(vc: self)
}
func jumpToNextPage(){
// 先将值传到下一个页面
let vc : CompressQualityController = CompressQualityController()
......
......@@ -62,47 +62,6 @@ class HomeInfoViewController:BaseViewController {
sview.deleteCallBack = { [weak self] array in
guard let self = self else { return }
// 首先看是否订阅
if HomePayModel.share.isNoAd == false {
// 没有订阅
// 获取当前免费次数
let freeCount = AdvManager.shared.defaultFreeTimes
// 获取次数对应的删除照片数量
let freeDeleteCount = AdvManager.shared.advDeleteResouceDic[freeCount]!
Print(freeDeleteCount)
// 如果数量等于0
if freeDeleteCount == 0 {
// 弹出单个删除类型
// 跳弹窗
let vc : AdvTipDeleteController = AdvTipDeleteController()
vc.modalPresentationStyle = .fullScreen
self.present(vc, animated: true)
}else {
let tempArray = array as! [AssetModel]
// 如果小于
if tempArray.count > freeDeleteCount {
// 弹出多个删除类型
}
}
}
let deleteOp:((Any)->Void) = {[weak self] imgs in
if let cA = imgs as? [AssetModel] {
var tempStringArray : [String] = []
......@@ -136,12 +95,70 @@ class HomeInfoViewController:BaseViewController {
}
}
// 首先看是否订阅
if HomePayModel.share.isNoAd == false {
// 没有订阅
// 获取当前免费次数
let freeCount = AdvManager.shared.defaultFreeTimes
// 获取次数对应的删除照片数量
let freeDeleteCount = AdvManager.shared.advDeleteResouceDic[freeCount]!
Print(freeDeleteCount)
// 如果数量等于0
let view : AdvTipDeleteView = AdvTipDeleteView(frame: self.view.bounds)
view.dataSource = array as? [AssetModel]
if freeDeleteCount == 0 {
// 弹出单个删除类型
view.deleteType = .deletePhotoOne
view.getOtherInfoByType(type: self.type!)
self.view.addSubview(view)
}else {
let tempArray = array as! [AssetModel]
// 如果小于
if tempArray.count > freeDeleteCount {
// 弹出多个删除类型
view.deleteType = .deletePhotosMore
view.getOtherInfoByType(type: self.type!)
self.view.addSubview(view)
}
}
view.deleteButtonClickCallback = {isMore in
if isMore == true {
// 先弹出充会员,然后结束之后弹广告
if self.type == .duplicates {
HomePayViewController.show {
self.popAdverTisement()
// 广告看完再结束
AdvManager.shared.finisedCallBack = {
if HomePayModel.share.isNoAd == false {
// 重复
deleteOp(array)
}
}
}else if self.type == .similar {
// 相似
HomeNoAdsViewController.show {
self.popAdverTisement()
// 广告看完再结束
AdvManager.shared.finisedCallBack = {
deleteOp(array)
}
}
}else{
HomeNoAdsViewController.show {
self.popAdverTisement()
// 广告看完再结束
AdvManager.shared.finisedCallBack = {
deleteOp(array)
}
}
}
// 广告
}else{
if self.type == .duplicates {
HomePayViewController.show {
......@@ -157,11 +174,47 @@ class HomeInfoViewController:BaseViewController {
deleteOp(array)
}
}
}
}
}else {
deleteOp(array)
}
//
// if HomePayModel.share.isNoAd == false {
// // 重复
// if self.type == .duplicates {
// HomePayViewController.show {
//
// deleteOp(array)
// }
// }else if self.type == .similar {
// // 相似
// HomeNoAdsViewController.show {
// deleteOp(array)
// }
// }else{
// HomeNoAdsViewController.show {
// deleteOp(array)
// }
// }
// }else {
// deleteOp(array)
// }
//
}
return sview
......@@ -180,10 +233,8 @@ class HomeInfoViewController:BaseViewController {
/// 弹出广告
func popAdverTisement(){
if AdvManager.shared.advTimeAfterInAPP <= 0 {
AdvManager.shared.showInterstitialAd(vc: self)
}
}
// 由于继承自 UIViewController,必须实现这个必需的构造器
required init?(coder: NSCoder) {
......
......@@ -380,14 +380,60 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
@objc func deleteButtonAction(){
if HomePayModel.share.isNoAd == false {
// 没有订阅
// 获取当前免费次数
let freeCount = AdvManager.shared.defaultFreeTimes
// 获取次数对应的删除照片数量
let freeDeleteCount = AdvManager.shared.advDeleteResouceDic[freeCount]!
Print(freeDeleteCount)
// 如果数量等于0
let view : AdvTipDeleteView = AdvTipDeleteView(frame: self.view.bounds)
view.dataSource = self.selectedModel
if freeDeleteCount == 0 {
// 弹出单个删除类型
view.deleteType = .deletePhotoOne
view.getOtherInfoByType(type: self.mediaType!)
self.view.addSubview(view)
}else {
let tempArray = self.selectedModel
// 如果小于
if tempArray.count > freeDeleteCount {
// 弹出多个删除类型
view.deleteType = .deletePhotosMore
view.getOtherInfoByType(type: self.mediaType!)
self.view.addSubview(view)
}
}
view.deleteButtonClickCallback = {isMore in
if isMore == true {
// 先弹出充会员,然后结束之后弹广告
HomePayViewController.show {
self.popAdverTisement()
// 广告看完再结束
AdvManager.shared.finisedCallBack = {
self.deleteAction()
}
}
// 广告
}else{
HomePayViewController.show {
self.deleteAction()
}
}
}
}else {
self.deleteAction()
}
}
/// 弹出广告
func popAdverTisement(){
AdvManager.shared.showInterstitialAd(vc: self)
}
func deleteAction(){
// 删除当前选择
......
......@@ -322,14 +322,59 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
@objc func deleteButtonAction(){
if HomePayModel.share.isNoAd == false {
// 获取当前免费次数
let freeCount = AdvManager.shared.defaultFreeTimes
// 获取次数对应的删除照片数量
let freeDeleteCount = AdvManager.shared.advDeleteResouceDic[freeCount]!
Print(freeDeleteCount)
// 如果数量等于0
let view : AdvTipDeleteView = AdvTipDeleteView(frame: self.view.bounds)
view.dataSource = self.selectedModel
if freeDeleteCount == 0 {
// 弹出单个删除类型
view.deleteType = .deletePhotoOne
view.getOtherInfoByType(type: .videos)
self.view.addSubview(view)
}else {
let tempArray = self.selectedModel
// 如果小于
if tempArray.count > freeDeleteCount {
// 弹出多个删除类型
view.deleteType = .deletePhotosMore
view.getOtherInfoByType(type: .videos)
self.view.addSubview(view)
}
}
view.deleteButtonClickCallback = {isMore in
if isMore == true {
// 先弹出充会员,然后结束之后弹广告
HomePayViewController.show {
self.popAdverTisement()
// 广告看完再结束
AdvManager.shared.finisedCallBack = {
self.deleteAction()
}
}
// 广告
}else{
HomePayViewController.show {
self.deleteAction()
}
}
}
}else {
self.deleteAction()
}
}
/// 弹出广告
func popAdverTisement(){
AdvManager.shared.showInterstitialAd(vc: self)
}
func deleteAction(){
// 删除当前选择
let fetchResult = PHAsset.fetchAssets(withLocalIdentifiers: self.selectedModel.map{$0.localIdentifier}, options: nil)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment