Commit 88d52922 authored by shenyong's avatar shenyong

内购管理类重写

parent 7a003868
......@@ -37,8 +37,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// 首页缓存
findHomeData()
// 获取价格
HomePayModel.share.fetchProducts()
// 获取内购价格
IAPManager.share.fetchProducts { p in
Print("获取内购商品信息",p as Any)
}
// HomePayModel.share.fetchProducts()
// 初始化广告SDK
AdvManager.shared.initAdertisementSDK()
......@@ -266,10 +269,15 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
private func setupDefault() {
// HomePayModel.share.loadLocalData()
HomePayModel.share.checkSubscriptionState { isSubscribed, expiresDate in
// HomePayModel.share.checkSubscriptionState { isSubscribed, expiresDate in
//
// }
IAPManager.share.checkSubscriptionState { isSubscribed, expiresDate in
Print("是否内购---",isSubscribed)
}
NetStatusManager.manager.startNet { status in
switch status {
......
This diff is collapsed.
......@@ -60,12 +60,12 @@ class ChargeInfoViewController:BaseViewController {
}
}
if HomePayModel.share.isNoAd == false && isFree != true {
if IAPManager.share.isSubscribed == false && isFree != true {
// 弹出内购页面
HomePayViewController.show {
// 再次判断下
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
// 弹出提示框
let alertView = AdvTipSelectView(frame: self.view.bounds)
alertView.selectType = .selectTypeSetAnimation
......
......@@ -327,9 +327,10 @@ extension CompressController:WaterfallMutiSectionDelegate,UICollectionViewDataSo
return
}
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
// 弹出提示框
let alertView = AdvTipSelectView(frame: self.view.bounds)
alertView.selectType = .selectTypeCompressPhoto
......
......@@ -58,7 +58,7 @@ class CompressNavView : UIView {
}
@objc private func proBtnClick() {
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
HomePayViewController.show {}
}else {
let vc : PayCompletedViewController = PayCompletedViewController()
......
......@@ -104,6 +104,7 @@ class HomeInfoViewController:BaseViewController {
self?.tablewView.deleteModel(array: imgs)
}
})
self.setDefaultPage()
}
func updateFreeTimes(){
......@@ -117,8 +118,6 @@ class HomeInfoViewController:BaseViewController {
}
}
setDefaultPage()
}
}
......@@ -132,7 +131,7 @@ class HomeInfoViewController:BaseViewController {
guard let self = self else { return }
// 首先看是否订阅
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
// 没有订阅
let view : AdvTipDeleteView = AdvTipDeleteView(frame: self.view.bounds)
......@@ -143,7 +142,7 @@ class HomeInfoViewController:BaseViewController {
// 当免费次数用完以后,无论删除多少都需要弹出广告
if freeCount <= 0 {
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
// 弹出单个删除类型
view.deleteType = .deletePhotoOne
view.getOtherInfoByType(type: self.type!)
......@@ -161,7 +160,7 @@ class HomeInfoViewController:BaseViewController {
if tempArray.count > freeDeleteCount {
// 弹出多个删除类型
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
view.deleteType = .deletePhotosMore
view.freeDeleteCount = freeDeleteCount
view.getOtherInfoByType(type: self.type!)
......@@ -184,7 +183,7 @@ class HomeInfoViewController:BaseViewController {
freeDeleteCount = 5
// 弹出多个删除类型
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
view.deleteType = .deletePhotosMore
view.freeDeleteCount = freeDeleteCount
view.getOtherInfoByType(type: self.type!)
......@@ -198,7 +197,7 @@ class HomeInfoViewController:BaseViewController {
freeDeleteCount = tempArray.count - 1
// 弹出多个删除类型
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
view.deleteType = .deletePhotosMore
view.freeDeleteCount = freeDeleteCount
view.getOtherInfoByType(type: self.type!)
......@@ -227,7 +226,7 @@ class HomeInfoViewController:BaseViewController {
}
}
if isMore == true{
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
self.popAdverTisement()
// 广告看完再结束
AdvManager.shared.finisedCallBack = {
......
......@@ -472,7 +472,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
// 首先看是否订阅
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
// 没有订阅
let view : AdvTipDeleteView = AdvTipDeleteView(frame: self.view.bounds)
view.dataSource = self.selectedModel
......@@ -482,7 +482,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
// 当免费次数用完以后,无论删除多少都需要弹出广告
if freeCount <= 0 {
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
// 弹出单个删除类型
view.deleteType = .deletePhotoOne
view.getOtherInfoByType(type: .Other)
......@@ -500,7 +500,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
if tempArray.count > freeDeleteCount {
// 弹出多个删除类型
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
view.deleteType = .deletePhotosMore
view.freeDeleteCount = freeDeleteCount
view.getOtherInfoByType(type: .Other)
......@@ -523,7 +523,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
freeDeleteCount = 5
// 弹出多个删除类型
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
view.deleteType = .deletePhotosMore
view.freeDeleteCount = freeDeleteCount
view.getOtherInfoByType(type: .Other)
......@@ -537,7 +537,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
freeDeleteCount = tempArray.count - 1
// 弹出多个删除类型
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
view.deleteType = .deletePhotosMore
view.freeDeleteCount = freeDeleteCount
view.getOtherInfoByType(type: .Other)
......@@ -556,7 +556,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
view.deleteButtonClickCallback = {isMore,deleteCount in
if isMore == true {
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
self.popAdverTisement()
// 广告看完再结束
AdvManager.shared.finisedCallBack = {
......
......@@ -375,7 +375,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
}
// 首先看是否订阅
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
// 没有订阅
let view : AdvTipDeleteView = AdvTipDeleteView(frame: self.view.bounds)
view.dataSource = self.selectedModel
......@@ -385,7 +385,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
// 当免费次数用完以后,无论删除多少都需要弹出广告
if freeCount <= 0 {
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
// 弹出单个删除类型
view.deleteType = .deletePhotoOne
view.getOtherInfoByType(type: .videos)
......@@ -403,7 +403,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
if tempArray.count > freeDeleteCount {
// 弹出多个删除类型
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
view.deleteType = .deletePhotosMore
view.freeDeleteCount = freeDeleteCount
view.getOtherInfoByType(type: .videos)
......@@ -426,7 +426,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
freeDeleteCount = 5
// 弹出多个删除类型
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
view.deleteType = .deletePhotosMore
view.freeDeleteCount = freeDeleteCount
view.getOtherInfoByType(type: .videos)
......@@ -441,7 +441,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
freeDeleteCount = tempArray.count - 1
// 弹出多个删除类型
HomePayViewController.show {
if HomePayModel.share.isNoAd == false{
if IAPManager.share.isSubscribed == false{
view.deleteType = .deletePhotosMore
view.freeDeleteCount = freeDeleteCount
view.getOtherInfoByType(type: .videos)
......@@ -460,7 +460,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
}
view.deleteButtonClickCallback = {isMore,deleteCount in
if isMore == true{
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
self.popAdverTisement()
// 广告看完再结束
AdvManager.shared.finisedCallBack = {
......
......@@ -188,7 +188,7 @@ class HomeViewController:BaseViewController {
if let cIndex = index as? Int {
// 先走广告策略
if AdvManager.shared.advTimeAfterInAPP <= 0 && HomePayModel.share.isNoAd == false {
if AdvManager.shared.advTimeAfterInAPP <= 0 && IAPManager.share.isSubscribed == false {
AdvManager.shared.showInterstitialAd(vc: self)
}else {
junmToModule(cIndex, self)
......@@ -287,7 +287,7 @@ class HomeViewController:BaseViewController {
if !isShowPay {
isShowPay = true
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
HomePayViewController.show {
NotificationManager().configNotifications()
}
......
......@@ -79,7 +79,7 @@ extension HomeNavView {
homeNavViewModel.pushToDetailController(currentView: self, destnationController: settingViewController)
}
@objc private func proBtnClick() {
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
HomePayViewController.show {}
}else {
let vc : PayCompletedViewController = PayCompletedViewController()
......
......@@ -38,12 +38,15 @@ class HomePayDueView: UIView {
freePrice.font = UIFont.scaledSystemFont(ofSize: 12, weight: .regular)
freeTime.isHidden = false
freePrice.isHidden = false
saveL.isHidden = true
}
func reloadUI(_ type:Int,product1:SKProduct?,product2:SKProduct?){
func reloadUI(_ type:Int,week:SKProduct?,life:SKProduct?){
guard let pord = product1,let pord1 = product2 else { return }
guard let pord = week,let pord1 = life else { return }
if type == 0{
// 免费试用订阅
......
......@@ -59,7 +59,7 @@
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Save 89%" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wpu-I6-q6N">
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Save 89%" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wpu-I6-q6N">
<rect key="frame" x="311" y="29.666666666666671" width="85" height="21"/>
<color key="backgroundColor" red="0.32156862749999998" green="0.78039215689999997" blue="0.46274509800000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
......
......@@ -381,18 +381,18 @@ class HomePayView:UIView {
}
var product : SKProduct?
var weekProduct : SKProduct?
var product1 : SKProduct?
var lifeProduct : SKProduct?
func reloadSKPorduct(product:SKProduct?,product1:SKProduct?){
func reloadSKPorduct(week:SKProduct?,life:SKProduct?){
self.product = product
self.product1 = product1
payDueView.reloadUI(type, product1: product, product2: product1)
self.weekProduct = week
self.lifeProduct = life
payDueView.reloadUI(type, week: week, life: life)
trailTitle.attributedText = nil
if let pord = product{
if let pord = week{
trailTitle.text = "Free for 7 days, then \(pord.localizedPrice)/week"
}
......@@ -403,14 +403,14 @@ class HomePayView:UIView {
contentView2Switch?.isOn = type == 0
payButton?.setTitle(type == 0 ? "Try Free" : "Start Now", for: .normal)
payDueView.reloadUI(type, product1: product, product2: product1)
payDueView.reloadUI(type, week: weekProduct, life: lifeProduct)
if let pord = product,type == 0{
if let pord = weekProduct,type == 0{
trailTitle.attributedText = nil
trailTitle.text = "Free for 7 days, then \(pord.localizedPrice)/week"
}
if let pord = product1,type == 1{
if let pord = lifeProduct,type == 1{
trailTitle.text = "\(pord.localizedPrice)/Lifetime"
setAttributedString(price: pord.localizedPrice)
}
......
......@@ -7,6 +7,7 @@
import UIKit
import StoreKit
import SVProgressHUD
class HomePayViewController:UIViewController {
......@@ -31,11 +32,7 @@ class HomePayViewController:UIViewController {
make.left.right.top.bottom.equalToSuperview()
}
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
HomePayModel.share.fetchProducts()
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
......@@ -108,22 +105,47 @@ class HomePayViewController:UIViewController {
extension HomePayViewController {
private func setPrice() -> Void {
guard currentProduct != nil ,
let p1 = currentProduct?.first,
let p2 = currentProduct?.last
else { return }
homePayView?.reloadSKPorduct(product: p1, product1: p2)
// guard currentProduct != nil ,
// let p1 = currentProduct?.first,
// let p2 = currentProduct?.last
// else { return }
// homePayView?.reloadSKPorduct(product: p1, product1: p2)
}
private func storeKeD() -> Void {
HomePayModel.share.storeCall = {[weak self] products in
guard let self = self else { return }
self.currentProduct = products
// HomePayModel.share.storeCall = {[weak self] products in
// guard let self = self else { return }
// self.currentProduct = products
// }
IAPManager.share.fetchProducts { [weak self] products in
guard let weakSelf = self else { return }
DispatchQueue.main.async {
if let (weekProduct, lifetimeProduct) = products {
weakSelf.homePayView?.reloadSKPorduct(week: weekProduct, life: lifetimeProduct)
}
}
}
}
private func payTouch() -> Void {
HomePayModel.share.purchase( (homePayView?.type == 0) ? .Subscribe : .NonConsum )
IAPManager.share.purchase((homePayView?.type == 0) ? .subscribe : .nonConsumable) {[weak self] result in
guard let weakSelf = self else { return }
switch result {
case .success(let success):
Print("内购成功",success)
DispatchQueue.main.async {
SVProgressHUD.showSuccess(withStatus: "purchase succeeds")
weakSelf.dismiss(animated: true)
}
case .failure(let failure):
Print("内购失败",failure)
DispatchQueue.main.async {
SVProgressHUD.showError(withStatus: failure.localizedDescription)
}
}
}
}
private func ppClick() {
......@@ -145,7 +167,10 @@ extension HomePayViewController {
}
private func restoreClick() {
HomePayModel.share.restore()
// HomePayModel.share.restore()
IAPManager.share.restore { result in
}
}
class func show( _ compate:@escaping(()->Void)) -> Void {
......
......@@ -19,6 +19,7 @@ class PMLoadingHUD{
}()
func show(_ title:String = "Deleting...",_ subTitle:String = "Please wait on the screen. This might take several minutes."){
disMiss()
DispatchQueue.main.async {
KEYWINDOW()?.addSubview(self.loadingView)
self.loadingView.setTitleaAndSubTitle(title: title, subTitle: subTitle)
......
......@@ -238,7 +238,7 @@ class SecretViewController: BaseViewController {
b.callback = { [weak self] in
guard let self = self else { return }
if b.state == .add {
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
// 添加的时候需要先弹出广告
popAdverTisement()
AdvManager.shared.finisedCallBack = {
......
......@@ -21,7 +21,7 @@ class SettingViewHeaderCell : UITableViewCell {
lazy var fLabel : UILabel = {
let label = UILabel();
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
label.text = "Unlock Unlimited Access"
}else {
label.text = "Phone Manager Pro Edition"
......@@ -36,7 +36,7 @@ class SettingViewHeaderCell : UITableViewCell {
lazy var sLabel : UILabel = {
let label = UILabel()
label.numberOfLines = 0
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
label.text = "Enjoy unlimited access with all Cleanup features"
}else{
label.text = "You can now access all Phone Manager features without restrictions"
......@@ -101,7 +101,7 @@ class SettingViewHeaderCell : UITableViewCell {
make.left.equalToSuperview().offset(15)
make.right.equalToSuperview().offset(-15)
make.top.equalTo(fLabel.snp.bottom).offset(4)
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
make.height.equalTo(20)
}else{
make.height.equalTo(42)
......@@ -116,7 +116,7 @@ class SettingViewHeaderCell : UITableViewCell {
self.moreButton.snp.makeConstraints { make in
make.width.equalTo(245)
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
make.height.equalTo(46)
}else{
make.height.equalTo(0)
......
......@@ -138,7 +138,7 @@ class SettingViewController : BaseViewController , UITableViewDelegate, UITableV
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == 0 {
if HomePayModel.share.isNoAd == false {
if IAPManager.share.isSubscribed == false {
return 385
}else{
return 339
......
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